time="2024-09-24T23:54:49Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" Container integration-test-device-1 Creating Container integration-test-experiment-1 Creating Container integration-test-gateway-1 Creating Container integration-test-authentication-1 Creating Container integration-test-federation-1 Creating Container integration-test-authorization-1 Creating Container integration-test-forwarding-1 Creating Container integration-test-forwarding-1 Created Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Container integration-test-gateway-1 Created Container integration-test-device-1 Created Container integration-test-authentication-1 Created Container integration-test-authorization-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, forwarding-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/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/forwarding_service.conf to /etc/nginx/forwarding_service.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 forwarding-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} forwarding-1 | {"level":"info","message":"Forwarding Service started successfully"} federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} 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":"2024-09-24T23:55:24Z"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:34812","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-09-24T23:55:25Z"} authorization-1 | {"client_addr":"127.0.0.1:34812","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.317161,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:25Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1727222125.2982624} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1727222125.2983358} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1727222125.2983453} 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":1727222125.2983577} 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":1727222125.298369} 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":1727222125.2983978,"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":1727222125.2987845} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1727222125.2996163} 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:58648","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-09-24T23:55:25.353044776Z","id":"01J8K7C4S951VFRJ9T3C8G79KM","name":"crosslab","updated_at":"2024-09-24T23:55:25.353044776Z"},"request_id":"8bcec6e7-4220-4bf5-a2ca-dac82470204f","subsystem":"openfga","timestamp":1727222125.3532538} 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:58648","raw_request":{"schema_version":"1.1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01J8K7C4TTQREEXXXAGTSMXK4Y"},"request_id":"8afd236b-708a-43db-a997-43fa26ed33c2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222125.403047} authorization-1 | {"client_addr":"127.0.0.1:34812","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-09-24T23:55:25Z"} authorization-1 | {"client_addr":"127.0.0.1:34812","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.172919,"resp_status":204,"subsystem":"opa","time":"2024-09-24T23:55:25Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.68.0/opa_linux_amd64","latest_version":"0.68.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.68.0","subsystem":"opa","time":"2024-09-24T23:55:25Z"} gateway-1 | {"time_local":"24/Sep/2024:23:55:31 +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.027","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"0ac5c3c38e22fb5ca429ef2fb4bea409"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 17ms","method":"HEAD","requestID":"0ac5c3c38e22fb5ca429ef2fb4bea409","responseTime":17,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"24/Sep/2024:23:55:31 +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.019","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b94450c4419bd493f2352290020ba396"} device-1 | {"level":"info","message":"HEAD /device/status 200 12ms","method":"HEAD","requestID":"7b4d3b60-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"24/Sep/2024:23:55:31 +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.016","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"ada115b2efc67f5c7b76bada9d8e3094"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 10ms","method":"HEAD","requestID":"ada115b2efc67f5c7b76bada9d8e3094","responseTime":10,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"24/Sep/2024:23:55:31 +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.021","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"e71a694bc26f91ab4b90d2a6ae91a118"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 13ms","method":"HEAD","requestID":"7b54dc80-7ad0-11ef-b3e9-3d7ccb52c169","responseTime":13,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"24/Sep/2024:23:55:31 +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.013","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"231253c7c57f46098c5935ec13264bb9"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 9ms","method":"HEAD","requestID":"7b58ad10-7ad0-11ef-a148-ed2c91bd53be","responseTime":9,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"24/Sep/2024:23:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /forwarding/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.014","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"dfb9afceae64911afc9430612b29b50f"} forwarding-1 | {"level":"info","message":"HEAD /forwarding/status 200 9ms","method":"HEAD","requestID":"7b5be160-7ad0-11ef-a772-4d02dbd671ac","responseTime":9,"status":200,"url":"/forwarding/status"} gateway-1 | {"time_local":"24/Sep/2024:23:55:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96cd5348adbf62f0de13a17cc639048a"} authentication-1 | {"level":"info","message":"POST /login 201 160ms","method":"POST","requestID":"96cd5348adbf62f0de13a17cc639048a","responseTime":160,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzNH0.gwLnmkzREjD878Llu0nbFaRBEoXJRmPqIrNoEzgEqQQ","level":"info","message":"auth send jwt","requestID":"370ee292c9e6ad6638cc9d4a4dcf123c"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"370ee292c9e6ad6638cc9d4a4dcf123c","responseTime":23,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"370ee292c9e6ad6638cc9d4a4dcf123c"} authorization-1 | {"client_addr":"127.0.0.1:56800","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56800","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.404701,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"370ee292c9e6ad6638cc9d4a4dcf123c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222134,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzNH0.gwLnmkzREjD878Llu0nbFaRBEoXJRmPqIrNoEzgEqQQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"370ee292c9e6ad6638cc9d4a4dcf123c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ca5a039e-9155-4a11-9355-576e5c6e9504","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222134.482005} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"370ee292c9e6ad6638cc9d4a4dcf123c","responseTime":10,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0bbc3228-d4b6-4fc7-8950-04efadda5446","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222134.5002296} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"370ee292c9e6ad6638cc9d4a4dcf123c","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"8e844df8-65e4-4231-aa4c-6d5f64144ba8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222134.5205529} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c2460b9-1c7c-4bfb-951f-eb05b9d1364a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222134.5213926} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"370ee292c9e6ad6638cc9d4a4dcf123c","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.520534677Z"}]},"request_id":"cb968dbb-e501-413f-833d-f8d9d6363dd3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222134.529456} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"370ee292c9e6ad6638cc9d4a4dcf123c","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"370ee292c9e6ad6638cc9d4a4dcf123c"} gateway-1 | {"time_local":"24/Sep/2024:23:55:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.278","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"370ee292c9e6ad6638cc9d4a4dcf123c"} device-1 | {"level":"info","message":"POST /devices? 201 233ms","method":"POST","requestID":"370ee292c9e6ad6638cc9d4a4dcf123c","responseTime":233,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzNH0.gwLnmkzREjD878Llu0nbFaRBEoXJRmPqIrNoEzgEqQQ","level":"info","message":"auth send jwt","requestID":"0345e072026895b7ffb32413bc9b3972"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0345e072026895b7ffb32413bc9b3972","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0345e072026895b7ffb32413bc9b3972"} authorization-1 | {"client_addr":"127.0.0.1:56800","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56800","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.765597,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0345e072026895b7ffb32413bc9b3972","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222134,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzNH0.gwLnmkzREjD878Llu0nbFaRBEoXJRmPqIrNoEzgEqQQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"0345e072026895b7ffb32413bc9b3972","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9fcdeb2d-397f-4d09-b45a-71d055e3cfac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222134.5939648} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0345e072026895b7ffb32413bc9b3972","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fdf7f2d8-63ee-4628-aa7c-8754cf62071a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222134.602652} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"0345e072026895b7ffb32413bc9b3972","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"468f9dfe-4ded-4d46-8cf2-6fa61e78721c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222134.6190965} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87d4cd7b-0c42-48b5-9ccf-0834e80397f5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222134.6191995} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"0345e072026895b7ffb32413bc9b3972","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.619082656Z"}]},"request_id":"c97bf3d0-d51e-42f2-aea4-386e983904df","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222134.6291392} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"0345e072026895b7ffb32413bc9b3972","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0345e072026895b7ffb32413bc9b3972"} gateway-1 | {"time_local":"24/Sep/2024:23:55:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.078","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0345e072026895b7ffb32413bc9b3972"} device-1 | {"level":"info","message":"POST /devices? 201 71ms","method":"POST","requestID":"0345e072026895b7ffb32413bc9b3972","responseTime":71,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bbf614c30c36eee33c34f0479c91e343","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"bbf614c30c36eee33c34f0479c91e343","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"93bed9aa7b6901d26e26afc205eb3f1e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"93bed9aa7b6901d26e26afc205eb3f1e","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.012","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bbf614c30c36eee33c34f0479c91e343"} device-1 | {"level":"info","message":"OPTIONS /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/websocket 200 3ms","method":"OPTIONS","requestID":"bbf614c30c36eee33c34f0479c91e343","responseTime":3,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/948cf537-9cac-4006-bca1-721f3022af8f/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.015","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"93bed9aa7b6901d26e26afc205eb3f1e"} device-1 | {"level":"info","message":"OPTIONS /devices/948cf537-9cac-4006-bca1-721f3022af8f/websocket 200 2ms","method":"OPTIONS","requestID":"93bed9aa7b6901d26e26afc205eb3f1e","responseTime":2,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A","level":"info","message":"auth send jwt","requestID":"e9f746304aa8cf58af3812b558203de7"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"e9f746304aa8cf58af3812b558203de7","responseTime":13,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A","level":"info","message":"auth send jwt","requestID":"1e5b4c3983919178f891034159dc59a7"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"1e5b4c3983919178f891034159dc59a7","responseTime":12,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e9f746304aa8cf58af3812b558203de7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1e5b4c3983919178f891034159dc59a7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.477182,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e9f746304aa8cf58af3812b558203de7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"e9f746304aa8cf58af3812b558203de7","responseTime":15,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.472907,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1e5b4c3983919178f891034159dc59a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"1e5b4c3983919178f891034159dc59a7","responseTime":14,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1e5b4c3983919178f891034159dc59a7"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/948cf537-9cac-4006-bca1-721f3022af8f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.076","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1e5b4c3983919178f891034159dc59a7"} device-1 | {"level":"info","message":"POST /devices/948cf537-9cac-4006-bca1-721f3022af8f/websocket 200 53ms","method":"POST","requestID":"1e5b4c3983919178f891034159dc59a7","responseTime":53,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e9f746304aa8cf58af3812b558203de7"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.170","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e9f746304aa8cf58af3812b558203de7"} device-1 | {"level":"info","message":"POST /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/websocket 200 152ms","method":"POST","requestID":"e9f746304aa8cf58af3812b558203de7","responseTime":152,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ceb42c0fec45f2e6db7b04cc0f98fc8c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ceb42c0fec45f2e6db7b04cc0f98fc8c","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/948cf537-9cac-4006-bca1-721f3022af8f? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"ceb42c0fec45f2e6db7b04cc0f98fc8c"} device-1 | {"level":"info","message":"OPTIONS /devices/948cf537-9cac-4006-bca1-721f3022af8f? 200 1ms","method":"OPTIONS","requestID":"ceb42c0fec45f2e6db7b04cc0f98fc8c","responseTime":1,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A","level":"info","message":"auth send jwt","requestID":"83f95be00cdab5e596f3aeab2d46c9c1"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"83f95be00cdab5e596f3aeab2d46c9c1","responseTime":8,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"716f9331008fd20224ecc7cc15adba92","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"716f9331008fd20224ecc7cc15adba92","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"83f95be00cdab5e596f3aeab2d46c9c1"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"716f9331008fd20224ecc7cc15adba92"} device-1 | {"level":"info","message":"OPTIONS /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5? 200 1ms","method":"OPTIONS","requestID":"716f9331008fd20224ecc7cc15adba92","responseTime":1,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859206,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"83f95be00cdab5e596f3aeab2d46c9c1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"83f95be00cdab5e596f3aeab2d46c9c1","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A","level":"info","message":"auth send jwt","requestID":"50e257208b434ccb1d3c5b5c97cb0e17"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"50e257208b434ccb1d3c5b5c97cb0e17","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"50e257208b434ccb1d3c5b5c97cb0e17"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.856892,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"50e257208b434ccb1d3c5b5c97cb0e17","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"50e257208b434ccb1d3c5b5c97cb0e17","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.520534677Z"}]},"request_id":"c6431ff0-5de2-4623-9d22-8355e54e4758","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.4641926} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"83f95be00cdab5e596f3aeab2d46c9c1","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.619082656Z"}]},"request_id":"2c3608ac-0204-4a0e-8e48-e328b891daf3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.4708855} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"50e257208b434ccb1d3c5b5c97cb0e17","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af56c8f3-ae7b-48fe-baea-86dc510c48b0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.4743373} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"83f95be00cdab5e596f3aeab2d46c9c1","responseTime":6,"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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38fc3209-91f3-4b41-bce0-dc248f9c6c56","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.482884} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"50e257208b434ccb1d3c5b5c97cb0e17","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.520534677Z"}]},"request_id":"0c5eac3a-b57a-4a35-9ae3-106863af1a0b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.4852722} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"83f95be00cdab5e596f3aeab2d46c9c1","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"83f95be00cdab5e596f3aeab2d46c9c1"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/948cf537-9cac-4006-bca1-721f3022af8f? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.085","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"83f95be00cdab5e596f3aeab2d46c9c1"} device-1 | {"level":"info","message":"PATCH /devices/948cf537-9cac-4006-bca1-721f3022af8f? 200 73ms","method":"PATCH","requestID":"83f95be00cdab5e596f3aeab2d46c9c1","responseTime":73,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.619082656Z"}]},"request_id":"a5edca5e-5ae2-479c-840a-d9475eda3603","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.4996588} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"50e257208b434ccb1d3c5b5c97cb0e17","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"50e257208b434ccb1d3c5b5c97cb0e17"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.063","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"50e257208b434ccb1d3c5b5c97cb0e17"} device-1 | {"level":"info","message":"PATCH /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5? 200 55ms","method":"PATCH","requestID":"50e257208b434ccb1d3c5b5c97cb0e17","responseTime":55,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A","level":"info","message":"auth send jwt","requestID":"ef9da09c88929499d3ee102616b4a874"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ef9da09c88929499d3ee102616b4a874","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ef9da09c88929499d3ee102616b4a874"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.062897,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ef9da09c88929499d3ee102616b4a874","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ef9da09c88929499d3ee102616b4a874","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.520534677Z"}]},"request_id":"d349d27a-f821-4661-87f2-eb939a822960","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.5261247} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ef9da09c88929499d3ee102616b4a874","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ef9da09c88929499d3ee102616b4a874"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/948cf537-9cac-4006-bca1-721f3022af8f? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef9da09c88929499d3ee102616b4a874"} device-1 | {"level":"info","message":"GET /devices/948cf537-9cac-4006-bca1-721f3022af8f? 200 23ms","method":"GET","requestID":"ef9da09c88929499d3ee102616b4a874","responseTime":23,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A","level":"info","message":"auth send jwt","requestID":"07c52dcabd3030979f0602d75c4b6818"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"07c52dcabd3030979f0602d75c4b6818","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"07c52dcabd3030979f0602d75c4b6818"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.805712,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"07c52dcabd3030979f0602d75c4b6818","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"07c52dcabd3030979f0602d75c4b6818","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.619082656Z"}]},"request_id":"e66a2bbb-d042-48eb-bd34-b0ec067a357d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.5568607} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"07c52dcabd3030979f0602d75c4b6818","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"07c52dcabd3030979f0602d75c4b6818"} device-1 | {"level":"info","message":"GET /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5? 200 17ms","method":"GET","requestID":"07c52dcabd3030979f0602d75c4b6818","responseTime":17,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5?"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"07c52dcabd3030979f0602d75c4b6818"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A","level":"info","message":"auth send jwt","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2a3d314510b5f1bd6b6433858249d7bc","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.621123,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2a3d314510b5f1bd6b6433858249d7bc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2a3d314510b5f1bd6b6433858249d7bc","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Attempting to run experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Attempting to book experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Successfully booked experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"805efdf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"805f2500-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909082,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"805efdf0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"805efdf0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838064,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"805f2500-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"805f2500-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.520534677Z"}]},"request_id":"2ccee060-0931-4795-bf37-84b85a7f16e6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.7404654} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"805efdf0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.619082656Z"}]},"request_id":"61692a00-e00d-414f-bf26-c032e2de26af","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.741647} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"805f2500-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"805efdf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/948cf537-9cac-4006-bca1-721f3022af8f? 200 20ms","method":"GET","requestID":"805efdf0-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"805f2500-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5? 200 20ms","method":"GET","requestID":"805f2500-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Setting up experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Successfully locked booking for experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Attempting to update booking for experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Successfully updated booking for experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Successfully set up experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"806df210-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"806e6740-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Successfully running experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938669,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"806df210-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"806df210-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.91085,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"806eb560-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"806e6740-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"806e6740-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0422b2cb-9082-4b37-9c1e-9ecd939df460","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.8483703} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.520534677Z"}]},"request_id":"fc6851d5-eac3-4715-9201-ff92dce812ae","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.848827} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"806df210-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.941024,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"806eb560-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","object_type":"device","rebac_allow":false,"scope_allow":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":"806eb560-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"806df210-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/948cf537-9cac-4006-bca1-721f3022af8f? 200 33ms","method":"GET","requestID":"806df210-7ad0-11ef-9247-9909de679d1e","responseTime":33,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.619082656Z"}]},"request_id":"82ff7b54-0d84-4c50-98fa-939f370381da","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.8506184} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","method":"POST","requestID":"806e6740-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d9427e5-3237-4feb-8ce3-6c5c1f918e9f#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d9427e5-3237-4feb-8ce3-6c5c1f918e9f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"5bcff077-ae21-4b56-832c-0bdc265477cb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.8591213} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"806eb560-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0238c7cb-53ca-4006-b1ac-881b703b6dab","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.8648872} device-1 | {"level":"info","message":"POST /devices/948cf537-9cac-4006-bca1-721f3022af8f/signaling 200 36ms","method":"POST","requestID":"806eb560-7ad0-11ef-9247-9909de679d1e","responseTime":36,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"2a3d314510b5f1bd6b6433858249d7bc","responseTime":30,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"806e6740-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5? 200 42ms","method":"GET","requestID":"806e6740-7ad0-11ef-9247-9909de679d1e","responseTime":42,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80751e00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80762f70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4535dc69-8c63-48dc-9397-e15211b854fc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.880115} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.07154,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"80751e00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","object_type":"device","rebac_allow":false,"scope_allow":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":"80751e00-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80751e00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/signaling 200 17ms","method":"POST","requestID":"80751e00-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1304d90a-36c6-404e-bfb3-78902484e9d3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.889115} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.422717,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 304ms","method":"POST","requestID":"2a3d314510b5f1bd6b6433858249d7bc","responseTime":304,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"80762f70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"808","request_time":"0.320","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"80762f70-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80762f70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/948cf537-9cac-4006-bca1-721f3022af8f/signaling 200 19ms","method":"POST","requestID":"80762f70-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A","level":"info","message":"auth send jwt","requestID":"cc60671577437a52b8a08475786afcfe"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cc60671577437a52b8a08475786afcfe","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cc60671577437a52b8a08475786afcfe"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"807a2710-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.87951,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cc60671577437a52b8a08475786afcfe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cc60671577437a52b8a08475786afcfe","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55: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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.520534677Z"}]},"request_id":"666f55e3-ee69-48f0-8b2e-bae9b43eea9f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.9126368} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66806434-04f9-48f6-a2d9-5deccac85f60","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.9127998} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cc60671577437a52b8a08475786afcfe","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.822463,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"807a2710-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","object_type":"device","rebac_allow":false,"scope_allow":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":"807a2710-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cc60671577437a52b8a08475786afcfe"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/948cf537-9cac-4006-bca1-721f3022af8f? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc60671577437a52b8a08475786afcfe"} device-1 | {"level":"info","message":"GET /devices/948cf537-9cac-4006-bca1-721f3022af8f? 200 17ms","method":"GET","requestID":"cc60671577437a52b8a08475786afcfe","responseTime":17,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"807a2710-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/signaling 200 15ms","method":"POST","requestID":"807a2710-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A","level":"info","message":"auth send jwt","requestID":"f522cf786953240d3889668e184e9f0c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"807d0d40-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f522cf786953240d3889668e184e9f0c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"807d5b60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f522cf786953240d3889668e184e9f0c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.98292,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"807d0d40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"807d0d40-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.769989,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"807d5b60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"807d5b60-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.520534677Z"}]},"request_id":"493ca354-603e-4876-ac5a-18380086800c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.9380605} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.619082656Z"}]},"request_id":"fad278ed-b78b-42f3-b483-4f8ac28f9030","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.9395745} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"807d0d40-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56826","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56826","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934181,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"807d5b60-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f522cf786953240d3889668e184e9f0c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"f522cf786953240d3889668e184e9f0c","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:34.619082656Z"}]},"request_id":"2362870f-bdd2-41f9-9d1c-942978a0363f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.9486387} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"807d0d40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/948cf537-9cac-4006-bca1-721f3022af8f? 200 25ms","method":"GET","requestID":"807d0d40-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f522cf786953240d3889668e184e9f0c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"807d5b60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5? 200 27ms","method":"GET","requestID":"807d5b60-7ad0-11ef-9247-9909de679d1e","responseTime":27,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f522cf786953240d3889668e184e9f0c"} gateway-1 | {"time_local":"24/Sep/2024:23:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f522cf786953240d3889668e184e9f0c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Building connection plan","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} device-1 | {"level":"info","message":"GET /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5? 200 27ms","method":"GET","requestID":"f522cf786953240d3889668e184e9f0c","responseTime":27,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5?"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"19730b04-aab8-4cf9-9a2b-cd0e405d7fca"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"3276985d-b4e7-4a96-bfc4-8b84c45f4774"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"6acdc5ed-1cb9-4943-8b52-e8b7fcf08194"}]},"level":"info","message":"Built pairwise service configurations","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"808300b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.715195,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"808300b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222139,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjEzOX0.3VHxEDMQHLsTghpS4L-Sq2QUPqc-y5lUZvTLkO1ZP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"808300b0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"3ab37249-478c-4e91-a92b-cb848ea07dd9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.99297} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65800487-b60c-4ba5-8f59-5123e0f691ca","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222139.993314} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"808300b0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"808300b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"808300b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d'","requestID":"808300b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d'","requestID":"808300b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"808300b0-7ad0-11ef-9247-9909de679d1e"} 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":"808300b0-7ad0-11ef-9247-9909de679d1e","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":"808300b0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"2a3d314510b5f1bd6b6433858249d7bc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80917fa0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fca01925-ee1b-4667-8fa6-b5e47e365271","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.0644627} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.966015,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"80917fa0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","object_type":"device","rebac_allow":false,"scope_allow":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":"80917fa0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80917fa0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/948cf537-9cac-4006-bca1-721f3022af8f/signaling 200 16ms","method":"POST","requestID":"80917fa0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80950210-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6815742-e462-42f8-8f92-ebdc73071413","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.0880456} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.3567,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"80950210-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","object_type":"device","rebac_allow":false,"scope_allow":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":"80950210-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80950210-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/signaling 200 15ms","method":"POST","requestID":"80950210-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/signaling"} device-1 | {"device":"426b0db9-a3a4-453d-83f4-c64c58ef22b5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"426b0db9-a3a4-453d-83f4-c64c58ef22b5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"948cf537-9cac-4006-bca1-721f3022af8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"948cf537-9cac-4006-bca1-721f3022af8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 1198315271905644970 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:t/u0\r\na=ice-pwd:FX422EXelmQDLE6XOB5CRiv0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 8B:47:DA:49:C6:7B:D8:47:6D:35:AB:40:9E:96:F4:5B:91:60:0E:57:DC:3D:EE:05:E9:DB:88:C8:F9:9F:51:AC\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"426b0db9-a3a4-453d-83f4-c64c58ef22b5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 5951105858328826621 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:U2Zl\r\na=ice-pwd:g0l0oJlQZywRG9/1fWVUE/OR\r\na=ice-options:trickle\r\na=fingerprint:sha-256 1A:C0:82:23:EA:53:24:A9:3B:4A:4A:CD:E4:77:85:8D:A1:84:AC:53:3E:51:4B:62:3D:DE:9F:4D:2A:DB:1A:6A\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"948cf537-9cac-4006-bca1-721f3022af8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3600769189 1 udp 2113937151 036984df-5e3a-43ba-915f-0d9c97ec84f3.local 32971 typ host generation 0 ufrag U2Zl network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"948cf537-9cac-4006-bca1-721f3022af8f","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/948cf537-9cac-4006-bca1-721f3022af8f'"} device-1 | {"content":{"candidate":"candidate:1387399898 1 udp 1677729535 141.24.211.56 32971 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag U2Zl network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"948cf537-9cac-4006-bca1-721f3022af8f","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/948cf537-9cac-4006-bca1-721f3022af8f'"} device-1 | {"content":{"candidate":"candidate:4014842896 1 udp 2113937151 5a7d9901-0255-45bf-9d63-65a1e953ca91.local 59496 typ host generation 0 ufrag t/u0 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"426b0db9-a3a4-453d-83f4-c64c58ef22b5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2087060739 1 udp 1677729535 141.24.211.56 59496 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag t/u0 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"426b0db9-a3a4-453d-83f4-c64c58ef22b5","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/426b0db9-a3a4-453d-83f4-c64c58ef22b5'"} device-1 | {"device":"426b0db9-a3a4-453d-83f4-c64c58ef22b5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"426b0db9-a3a4-453d-83f4-c64c58ef22b5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"948cf537-9cac-4006-bca1-721f3022af8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"948cf537-9cac-4006-bca1-721f3022af8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"59eaf856-cd43-42c8-bebe-b54df76f6d4d","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"426b0db9-a3a4-453d-83f4-c64c58ef22b5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"948cf537-9cac-4006-bca1-721f3022af8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"948cf537-9cac-4006-bca1-721f3022af8f","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"be67daad41a844278399c8dbf0304509","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"be67daad41a844278399c8dbf0304509","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d"}}},"level":"info","message":"received a callback","requestID":"be67daad41a844278399c8dbf0304509"} device-1 | {"data":{"peerconnection":"59eaf856-cd43-42c8-bebe-b54df76f6d4d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 15ms","method":"POST","requestID":"be67daad41a844278399c8dbf0304509","responseTime":15,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch","requestID":"be67daad41a844278399c8dbf0304509"} device-1 | {"data":{"peerconnection":"59eaf856-cd43-42c8-bebe-b54df76f6d4d","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/59eaf856-cd43-42c8-bebe-b54df76f6d4d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"59eaf856-cd43-42c8-bebe-b54df76f6d4d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3f8ae7fc773164e7824ba0640ec9be78","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"3f8ae7fc773164e7824ba0640ec9be78","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d"}}},"level":"info","message":"received a callback","requestID":"3f8ae7fc773164e7824ba0640ec9be78"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"80c36510-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F59eaf856-cd43-42c8-bebe-b54df76f6d4d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1753fe19-dce9-4111-a21c-c35f6d813f5f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.3926637} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.093237,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"80c36510-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d","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":"80c36510-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"80c36510-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d 200 14ms","method":"GET","requestID":"80c36510-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"3f8ae7fc773164e7824ba0640ec9be78","responseTime":47,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MH0.M5rkP4pIMarxPUSfNRt7Q30Or8uWlEQZwS5YGcDBan0","level":"info","message":"auth send jwt","requestID":"2b1812c5980844c78e3e658ba7e865ce"} gateway-1 | {"time_local":"24/Sep/2024:23:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"3f8ae7fc773164e7824ba0640ec9be78"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2b1812c5980844c78e3e658ba7e865ce","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80c9cdb0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f","requestID":"2b1812c5980844c78e3e658ba7e865ce"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c1eb3a5-ade4-4a04-9466-6d417099267b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.432266} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.707951,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"80c9cdb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","object_type":"device","rebac_allow":false,"scope_allow":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":"80c9cdb0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.990543,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2b1812c5980844c78e3e658ba7e865ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222140,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MH0.M5rkP4pIMarxPUSfNRt7Q30Or8uWlEQZwS5YGcDBan0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2b1812c5980844c78e3e658ba7e865ce","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80c9cdb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/948cf537-9cac-4006-bca1-721f3022af8f/signaling 200 10ms","method":"POST","requestID":"80c9cdb0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80cbf090-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f","requestID":"2b1812c5980844c78e3e658ba7e865ce"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df24f1c2-7630-4443-942e-3605b495f9a9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.4465683} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.39213,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:40Z"} gateway-1 | {"time_local":"24/Sep/2024:23:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f HTTP/1.1","status": "200","body_bytes_sent":"881","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b1812c5980844c78e3e658ba7e865ce"} experiment-1 | {"level":"info","message":"GET /experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f 200 20ms","method":"GET","requestID":"2b1812c5980844c78e3e658ba7e865ce","responseTime":20,"status":200,"url":"/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"80cbf090-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"80cbf090-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80cbf090-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/signaling 200 10ms","method":"POST","requestID":"80cbf090-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MH0.M5rkP4pIMarxPUSfNRt7Q30Or8uWlEQZwS5YGcDBan0","level":"info","message":"auth send jwt","requestID":"1e5a341d0fb5cffc3c2fc70812af72b7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1e5a341d0fb5cffc3c2fc70812af72b7","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f","requestID":"1e5a341d0fb5cffc3c2fc70812af72b7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.178421,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1e5a341d0fb5cffc3c2fc70812af72b7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222140,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MH0.M5rkP4pIMarxPUSfNRt7Q30Or8uWlEQZwS5YGcDBan0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1e5a341d0fb5cffc3c2fc70812af72b7","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Attempting to finish experiment","requestID":"1e5a341d0fb5cffc3c2fc70812af72b7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"80d05d60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.76929,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"80d05d60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222140,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MH0.M5rkP4pIMarxPUSfNRt7Q30Or8uWlEQZwS5YGcDBan0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"80d05d60-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d","device":"948cf537-9cac-4006-bca1-721f3022af8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d","device":"426b0db9-a3a4-453d-83f4-c64c58ef22b5","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/59eaf856-cd43-42c8-bebe-b54df76f6d4d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"59eaf856-cd43-42c8-bebe-b54df76f6d4d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"198e8d8d5dee1972b207c9ed923bf46f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"198e8d8d5dee1972b207c9ed923bf46f","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f5834127e5c5af68d8749b6e9713895c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f5834127e5c5af68d8749b6e9713895c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d"}}},"level":"info","message":"received a callback","requestID":"198e8d8d5dee1972b207c9ed923bf46f"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d"}}},"level":"info","message":"received a callback","requestID":"f5834127e5c5af68d8749b6e9713895c"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F59eaf856-cd43-42c8-bebe-b54df76f6d4d': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F59eaf856-cd43-42c8-bebe-b54df76f6d4d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"1d283cdf-8b7a-4ce6-ba25-b7f351947bcf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.49826} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db557a5c-6d71-40b5-8961-0d6c6bcbf1cb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.4984322} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"80d05d60-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"59eaf856-cd43-42c8-bebe-b54df76f6d4d","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"80d05d60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d 204 45ms","method":"DELETE","requestID":"80d05d60-7ad0-11ef-9247-9909de679d1e","responseTime":45,"status":204,"url":"/peerconnections/59eaf856-cd43-42c8-bebe-b54df76f6d4d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"},"level":"info","message":"Successfully finished experiment","requestID":"1e5a341d0fb5cffc3c2fc70812af72b7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80da9690-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F948cf537-9cac-4006-bca1-721f3022af8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17bd6701-f7e9-4c0a-84ef-f243120549f2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.5466626} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.301237,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"80da9690-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"80da9690-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80da9690-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/948cf537-9cac-4006-bca1-721f3022af8f/signaling 200 15ms","method":"POST","requestID":"80da9690-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/948cf537-9cac-4006-bca1-721f3022af8f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80dda3d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d9427e5-3237-4feb-8ce3-6c5c1f918e9f': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d9427e5-3237-4feb-8ce3-6c5c1f918e9f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"fb0bc6ed-8b1b-42b8-877e-b470a615e390","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.5578942} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"096c8934-6ac4-4413-bb45-cf52e211dfdc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.5582242} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"1e5a341d0fb5cffc3c2fc70812af72b7","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F426b0db9-a3a4-453d-83f4-c64c58ef22b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"760e1e6b-ac8a-4009-bbea-aef2a1c903a1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.5645962} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.955402,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"80dda3d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5","object_type":"device","rebac_allow":false,"scope_allow":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":"80dda3d0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80dda3d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/signaling 200 15ms","method":"POST","requestID":"80dda3d0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/426b0db9-a3a4-453d-83f4-c64c58ef22b5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f","requestID":"1e5a341d0fb5cffc3c2fc70812af72b7"} gateway-1 | {"time_local":"24/Sep/2024:23:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e5a341d0fb5cffc3c2fc70812af72b7"} experiment-1 | {"level":"info","message":"DELETE /experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f 204 187ms","method":"DELETE","requestID":"1e5a341d0fb5cffc3c2fc70812af72b7","responseTime":187,"status":204,"url":"/experiments/3d9427e5-3237-4feb-8ce3-6c5c1f918e9f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"198e8d8d5dee1972b207c9ed923bf46f","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"198e8d8d5dee1972b207c9ed923bf46f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MH0.M5rkP4pIMarxPUSfNRt7Q30Or8uWlEQZwS5YGcDBan0","level":"info","message":"auth send jwt","requestID":"159c3a90f99b92b0ee48bc992426df15"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"159c3a90f99b92b0ee48bc992426df15","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"f5834127e5c5af68d8749b6e9713895c","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"f5834127e5c5af68d8749b6e9713895c"} gateway-1 | {"time_local":"24/Sep/2024:23:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3079","request_time":"1.279","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d7d4858d45b00597b17bb4d59578dac0"} device-1 | {"level":"info","message":"postDevices called","requestID":"159c3a90f99b92b0ee48bc992426df15"} gateway-1 | {"time_local":"24/Sep/2024:23:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3079","request_time":"1.321","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8947fb78f600f865ee2c7dd6d32c5d25"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.865695,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"159c3a90f99b92b0ee48bc992426df15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222140,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MH0.M5rkP4pIMarxPUSfNRt7Q30Or8uWlEQZwS5YGcDBan0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"159c3a90f99b92b0ee48bc992426df15","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/426b0db9-a3a4-453d-83f4-c64c58ef22b5' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/948cf537-9cac-4006-bca1-721f3022af8f' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b3d3700d-1952-4c4f-80c5-781071d4e42f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.6790602} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"159c3a90f99b92b0ee48bc992426df15","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7311d6ce-7f6f-4bcd-acdd-2edb402363ab","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.684589} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"159c3a90f99b92b0ee48bc992426df15","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"2a7be6f1-05b2-45aa-8947-278c802f8992","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.696859} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9afca7dd-08e9-4f70-a86f-72e0cea7679b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.6969774} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"159c3a90f99b92b0ee48bc992426df15","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.696848067Z"}]},"request_id":"2b81af65-f487-46f1-b3ee-6583c8a0f75f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.7021847} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"159c3a90f99b92b0ee48bc992426df15","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"159c3a90f99b92b0ee48bc992426df15"} gateway-1 | {"time_local":"24/Sep/2024:23:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"159c3a90f99b92b0ee48bc992426df15"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"159c3a90f99b92b0ee48bc992426df15","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MH0.M5rkP4pIMarxPUSfNRt7Q30Or8uWlEQZwS5YGcDBan0","level":"info","message":"auth send jwt","requestID":"71d1d8adb3f6ae63d39a3ca28d3514ff"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"71d1d8adb3f6ae63d39a3ca28d3514ff","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"71d1d8adb3f6ae63d39a3ca28d3514ff"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.705074,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"71d1d8adb3f6ae63d39a3ca28d3514ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222140,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MH0.M5rkP4pIMarxPUSfNRt7Q30Or8uWlEQZwS5YGcDBan0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"71d1d8adb3f6ae63d39a3ca28d3514ff","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5c1f6528-3326-46a8-beea-1d0311543ffb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.7269669} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"71d1d8adb3f6ae63d39a3ca28d3514ff","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4435f815-e96b-46e9-b59f-ae11c546c490","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.731876} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"71d1d8adb3f6ae63d39a3ca28d3514ff","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"fdaba389-8e0d-41cf-8418-a5e9f8d0f4ae","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.7495162} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33678870-b49c-4415-aad4-ef785420ede3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.7498298} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"71d1d8adb3f6ae63d39a3ca28d3514ff","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.749505616Z"}]},"request_id":"9bc9710b-14ac-4113-8a7d-cc9bcb7907f7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222140.7552874} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"71d1d8adb3f6ae63d39a3ca28d3514ff","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"71d1d8adb3f6ae63d39a3ca28d3514ff"} gateway-1 | {"time_local":"24/Sep/2024:23:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71d1d8adb3f6ae63d39a3ca28d3514ff"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"71d1d8adb3f6ae63d39a3ca28d3514ff","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MX0.o1BNXX5RacpGfSbMHm_-gFMvF5oywMvQ7PTIUqu3w4I","level":"info","message":"auth send jwt","requestID":"37bbcc98cdcd401cfbe736d44fb43693"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"37bbcc98cdcd401cfbe736d44fb43693","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"37bbcc98cdcd401cfbe736d44fb43693"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:41Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703015,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"37bbcc98cdcd401cfbe736d44fb43693","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222141,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MX0.o1BNXX5RacpGfSbMHm_-gFMvF5oywMvQ7PTIUqu3w4I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"37bbcc98cdcd401cfbe736d44fb43693","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.749505616Z"}]},"request_id":"d60a952e-5ffd-4020-9165-604cc0d13cb5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222141.3018315} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"37bbcc98cdcd401cfbe736d44fb43693","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22ebe030-09ce-4ca8-9a6f-bff217226510","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222141.3092122} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"37bbcc98cdcd401cfbe736d44fb43693","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.749505616Z"}]},"request_id":"b7e02f60-a6d0-401e-8202-937e3dea5b92","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222141.3295877} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"37bbcc98cdcd401cfbe736d44fb43693","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"37bbcc98cdcd401cfbe736d44fb43693"} gateway-1 | {"time_local":"24/Sep/2024:23:55:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3a977a3d-2c85-46c2-b452-01db04e1027c HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"37bbcc98cdcd401cfbe736d44fb43693"} device-1 | {"level":"info","message":"PATCH /devices/3a977a3d-2c85-46c2-b452-01db04e1027c 200 48ms","method":"PATCH","requestID":"37bbcc98cdcd401cfbe736d44fb43693","responseTime":48,"status":200,"url":"/devices/3a977a3d-2c85-46c2-b452-01db04e1027c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MX0.o1BNXX5RacpGfSbMHm_-gFMvF5oywMvQ7PTIUqu3w4I","level":"info","message":"auth send jwt","requestID":"c9be69c380f9d6fcce9a642a06ebf901"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c9be69c380f9d6fcce9a642a06ebf901","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c9be69c380f9d6fcce9a642a06ebf901"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:41Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67485,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c9be69c380f9d6fcce9a642a06ebf901","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222141,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0MX0.o1BNXX5RacpGfSbMHm_-gFMvF5oywMvQ7PTIUqu3w4I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c9be69c380f9d6fcce9a642a06ebf901","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c9be69c380f9d6fcce9a642a06ebf901"} gateway-1 | {"time_local":"24/Sep/2024:23:55:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3a977a3d-2c85-46c2-b452-01db04e1027c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"c9be69c380f9d6fcce9a642a06ebf901"} device-1 | {"level":"info","message":"POST /devices/3a977a3d-2c85-46c2-b452-01db04e1027c/websocket 200 20ms","method":"POST","requestID":"c9be69c380f9d6fcce9a642a06ebf901","responseTime":20,"status":200,"url":"/devices/3a977a3d-2c85-46c2-b452-01db04e1027c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e0c514eaefd43d5d3894bdc2d2c43691","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e0c514eaefd43d5d3894bdc2d2c43691","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:55:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b89c0b1e-1ece-445a-92fc-2af715becb96/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":"e0c514eaefd43d5d3894bdc2d2c43691"} device-1 | {"level":"info","message":"OPTIONS /devices/b89c0b1e-1ece-445a-92fc-2af715becb96/websocket 200 1ms","method":"OPTIONS","requestID":"e0c514eaefd43d5d3894bdc2d2c43691","responseTime":1,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY","level":"info","message":"auth send jwt","requestID":"0e348c7bfd60541f2da9b4da6a793668"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0e348c7bfd60541f2da9b4da6a793668","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0e348c7bfd60541f2da9b4da6a793668"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:42Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.355337,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0e348c7bfd60541f2da9b4da6a793668","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222142,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0e348c7bfd60541f2da9b4da6a793668","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0e348c7bfd60541f2da9b4da6a793668"} gateway-1 | {"time_local":"24/Sep/2024:23:55:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b89c0b1e-1ece-445a-92fc-2af715becb96/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0e348c7bfd60541f2da9b4da6a793668"} device-1 | {"level":"info","message":"POST /devices/b89c0b1e-1ece-445a-92fc-2af715becb96/websocket 200 28ms","method":"POST","requestID":"0e348c7bfd60541f2da9b4da6a793668","responseTime":28,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"511a644175b4467d027246ebde84a2c3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"511a644175b4467d027246ebde84a2c3","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:55:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b89c0b1e-1ece-445a-92fc-2af715becb96? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"511a644175b4467d027246ebde84a2c3"} device-1 | {"level":"info","message":"OPTIONS /devices/b89c0b1e-1ece-445a-92fc-2af715becb96? 200 1ms","method":"OPTIONS","requestID":"511a644175b4467d027246ebde84a2c3","responseTime":1,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY","level":"info","message":"auth send jwt","requestID":"797c4b7a79c48fad85f82fa9401de3e0"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"797c4b7a79c48fad85f82fa9401de3e0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"797c4b7a79c48fad85f82fa9401de3e0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:42Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.372367,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"797c4b7a79c48fad85f82fa9401de3e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222142,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"797c4b7a79c48fad85f82fa9401de3e0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.696848067Z"}]},"request_id":"db7d1ab0-008a-4750-a3b8-84c0943d3e75","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222142.8856087} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"797c4b7a79c48fad85f82fa9401de3e0","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1c7969a-2d7e-47a1-afa6-def2d4032717","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222142.8987646} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"797c4b7a79c48fad85f82fa9401de3e0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.696848067Z"}]},"request_id":"89605a50-f350-4d54-aefa-5f755367ee00","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222142.913468} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"797c4b7a79c48fad85f82fa9401de3e0","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"797c4b7a79c48fad85f82fa9401de3e0"} device-1 | {"level":"info","message":"PATCH /devices/b89c0b1e-1ece-445a-92fc-2af715becb96? 200 50ms","method":"PATCH","requestID":"797c4b7a79c48fad85f82fa9401de3e0","responseTime":50,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96?"} gateway-1 | {"time_local":"24/Sep/2024:23:55:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b89c0b1e-1ece-445a-92fc-2af715becb96? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.058","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"797c4b7a79c48fad85f82fa9401de3e0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY","level":"info","message":"auth send jwt","requestID":"350ceac41e4f0717f5757cedb31d975d"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"350ceac41e4f0717f5757cedb31d975d","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"350ceac41e4f0717f5757cedb31d975d"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:42Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734217,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"350ceac41e4f0717f5757cedb31d975d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222142,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"350ceac41e4f0717f5757cedb31d975d","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.696848067Z"}]},"request_id":"5450b831-1b97-4ec7-8c2e-36c12e183e61","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222142.9463005} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"350ceac41e4f0717f5757cedb31d975d","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"350ceac41e4f0717f5757cedb31d975d"} gateway-1 | {"time_local":"24/Sep/2024:23:55:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b89c0b1e-1ece-445a-92fc-2af715becb96? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"350ceac41e4f0717f5757cedb31d975d"} device-1 | {"level":"info","message":"GET /devices/b89c0b1e-1ece-445a-92fc-2af715becb96? 200 20ms","method":"GET","requestID":"350ceac41e4f0717f5757cedb31d975d","responseTime":20,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY","level":"info","message":"auth send jwt","requestID":"092d3ff3fe6d71350a59464a89875a1f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"092d3ff3fe6d71350a59464a89875a1f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"092d3ff3fe6d71350a59464a89875a1f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:42Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.264988,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"092d3ff3fe6d71350a59464a89875a1f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222142,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"092d3ff3fe6d71350a59464a89875a1f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.749505616Z"}]},"request_id":"6a62e669-d1dd-4762-bef6-19daa5e1353e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222142.9764185} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"092d3ff3fe6d71350a59464a89875a1f","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"092d3ff3fe6d71350a59464a89875a1f"} gateway-1 | {"time_local":"24/Sep/2024:23:55:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3a977a3d-2c85-46c2-b452-01db04e1027c? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"092d3ff3fe6d71350a59464a89875a1f"} device-1 | {"level":"info","message":"GET /devices/3a977a3d-2c85-46c2-b452-01db04e1027c? 200 20ms","method":"GET","requestID":"092d3ff3fe6d71350a59464a89875a1f","responseTime":20,"status":200,"url":"/devices/3a977a3d-2c85-46c2-b452-01db04e1027c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY","level":"info","message":"auth send jwt","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b5a1efc7beec9996c88ec68d9a1afa74","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.264571,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b5a1efc7beec9996c88ec68d9a1afa74","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222142,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b5a1efc7beec9996c88ec68d9a1afa74","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Attempting to run experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Attempting to book experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Successfully booked experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"825a58c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"825aa6e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.346668,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"825a58c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222142,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"825a58c0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210209,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"825aa6e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222142,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"825aa6e0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.696848067Z"}]},"request_id":"2504760c-3a0c-4705-a3e4-a7e611993c43","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.064785} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"825a58c0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.749505616Z"}]},"request_id":"2a20c462-e29e-4544-a5ff-29a0afdcb3d1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.066468} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"825aa6e0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"825a58c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/b89c0b1e-1ece-445a-92fc-2af715becb96? 200 20ms","method":"GET","requestID":"825a58c0-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"825aa6e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/3a977a3d-2c85-46c2-b452-01db04e1027c? 200 19ms","method":"GET","requestID":"825aa6e0-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/3a977a3d-2c85-46c2-b452-01db04e1027c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Setting up experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Successfully set up experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8267c640-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"82681460-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8268b0a0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Successfully running experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.596001,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8267c640-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222142,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"8267c640-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.061977,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"82681460-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222142,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"82681460-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6353ed15-b5a2-4532-bbd9-2374f55b7e00","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.1583552} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.544963,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8268b0a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"8268b0a0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.696848067Z"}]},"request_id":"2ece32a8-84a9-469f-bb02-7118d4601972","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.1622255} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.749505616Z"}]},"request_id":"9c381984-b739-4086-8c05-32ca77ab6c77","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.1651723} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"8267c640-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"82681460-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8268b0a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b89c0b1e-1ece-445a-92fc-2af715becb96/signaling 200 30ms","method":"POST","requestID":"8268b0a0-7ad0-11ef-9247-9909de679d1e","responseTime":30,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8267c640-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcd0a6688-59a0-4659-9103-25d1f51416ae#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcd0a6688-59a0-4659-9103-25d1f51416ae","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"7fec8f6a-6c31-48c1-becd-f125517b6b72","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.1798754} device-1 | {"level":"info","message":"GET /devices/b89c0b1e-1ece-445a-92fc-2af715becb96? 200 41ms","method":"GET","requestID":"8267c640-7ad0-11ef-9247-9909de679d1e","responseTime":41,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43c63a2f-8654-4694-8f68-fd644178d626","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.1802828} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"82681460-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/3a977a3d-2c85-46c2-b452-01db04e1027c? 200 42ms","method":"GET","requestID":"82681460-7ad0-11ef-9247-9909de679d1e","responseTime":42,"status":200,"url":"/devices/3a977a3d-2c85-46c2-b452-01db04e1027c?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"b5a1efc7beec9996c88ec68d9a1afa74","responseTime":27,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"826ea410-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"826f6760-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9724e4e7-51c5-4324-ae75-450f75c1e092","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.1944935} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.619934,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"826ea410-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"826ea410-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d583e509-4a19-40a5-93c4-ade76bd40461","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.201633} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.022847,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"826f6760-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","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/cd0a6688-59a0-4659-9103-25d1f51416ae","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"826f6760-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:55:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"812","request_time":"0.219","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} experiment-1 | {"level":"info","message":"POST /experiments? 201 211ms","method":"POST","requestID":"b5a1efc7beec9996c88ec68d9a1afa74","responseTime":211,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"826ea410-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/3a977a3d-2c85-46c2-b452-01db04e1027c/signaling 200 24ms","method":"POST","requestID":"826ea410-7ad0-11ef-9247-9909de679d1e","responseTime":24,"status":200,"url":"/devices/3a977a3d-2c85-46c2-b452-01db04e1027c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"826f6760-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b89c0b1e-1ece-445a-92fc-2af715becb96/signaling 200 23ms","method":"POST","requestID":"826f6760-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0M30.nNFqLSclrPFkEwfWlovdt8BvVHD5ETk_UvGjBlL1jwg","level":"info","message":"auth send jwt","requestID":"739b4624bb82d88bc51741e5f9d4580c"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"739b4624bb82d88bc51741e5f9d4580c","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"739b4624bb82d88bc51741e5f9d4580c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8273d430-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.11348,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"739b4624bb82d88bc51741e5f9d4580c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222143,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0M30.nNFqLSclrPFkEwfWlovdt8BvVHD5ETk_UvGjBlL1jwg"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"739b4624bb82d88bc51741e5f9d4580c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb0e6e85-1e62-4d89-8c43-2ed035011780","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.2270014} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.14233,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8273d430-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","object_type":"device","rebac_allow":false,"scope_allow":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":"8273d430-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.696848067Z"}]},"request_id":"5a185517-ebe1-4180-9a46-bb1b72727da6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.2316928} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8273d430-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"739b4624bb82d88bc51741e5f9d4580c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/3a977a3d-2c85-46c2-b452-01db04e1027c/signaling 200 14ms","method":"POST","requestID":"8273d430-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/3a977a3d-2c85-46c2-b452-01db04e1027c/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"82769350-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8276e170-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"739b4624bb82d88bc51741e5f9d4580c"} gateway-1 | {"time_local":"24/Sep/2024:23:55:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b89c0b1e-1ece-445a-92fc-2af715becb96? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"739b4624bb82d88bc51741e5f9d4580c"} device-1 | {"level":"info","message":"GET /devices/b89c0b1e-1ece-445a-92fc-2af715becb96? 200 26ms","method":"GET","requestID":"739b4624bb82d88bc51741e5f9d4580c","responseTime":26,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922412,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"82769350-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222142,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"82769350-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898946,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8276e170-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222142,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8276e170-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0M30.nNFqLSclrPFkEwfWlovdt8BvVHD5ETk_UvGjBlL1jwg","level":"info","message":"auth send jwt","requestID":"762fb18bad369465f508e37f326c88db"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"762fb18bad369465f508e37f326c88db","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.696848067Z"}]},"request_id":"f9cfe7eb-5968-47dd-9a2d-c5aa84a55c89","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.2500887} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"762fb18bad369465f508e37f326c88db"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"82769350-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.749505616Z"}]},"request_id":"f4ae9b9d-3c34-448f-8424-51b583eeec23","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.2519522} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8276e170-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655035,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"762fb18bad369465f508e37f326c88db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222143,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0M30.nNFqLSclrPFkEwfWlovdt8BvVHD5ETk_UvGjBlL1jwg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"762fb18bad369465f508e37f326c88db","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"82769350-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/b89c0b1e-1ece-445a-92fc-2af715becb96? 200 26ms","method":"GET","requestID":"82769350-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:40.749505616Z"}]},"request_id":"b23e72af-0bf5-4e1b-a9f3-1fed3526fd3b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.2631629} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8276e170-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"762fb18bad369465f508e37f326c88db","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/3a977a3d-2c85-46c2-b452-01db04e1027c? 200 26ms","method":"GET","requestID":"8276e170-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":200,"url":"/devices/3a977a3d-2c85-46c2-b452-01db04e1027c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Building connection plan","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"e5210f1d-32b5-48c9-b4e6-c942165c81d9"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"95cddac0-0423-4e68-83bd-6fdbbf73c901"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"331838f9-e4d8-4363-a0f7-f179fdbfb771"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"827b9c60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"762fb18bad369465f508e37f326c88db"} gateway-1 | {"time_local":"24/Sep/2024:23:55:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3a977a3d-2c85-46c2-b452-01db04e1027c? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"762fb18bad369465f508e37f326c88db"} device-1 | {"level":"info","message":"GET /devices/3a977a3d-2c85-46c2-b452-01db04e1027c? 200 21ms","method":"GET","requestID":"762fb18bad369465f508e37f326c88db","responseTime":21,"status":200,"url":"/devices/3a977a3d-2c85-46c2-b452-01db04e1027c?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.179958,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"827b9c60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222142,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Mn0.sVH4C_4Hz0smNw3wM-5mcSLDz7jGf253cYSfzvMziyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"827b9c60-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"41cea75d-07c7-4796-b957-a8af412258a3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.2874622} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ba1c436-0fcb-4c75-bf47-aa2e8a15b0a2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.2877126} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"827b9c60-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"827b9c60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"827b9c60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443'","requestID":"827b9c60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443'","requestID":"827b9c60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"827b9c60-7ad0-11ef-9247-9909de679d1e"} 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":"827b9c60-7ad0-11ef-9247-9909de679d1e","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":"827b9c60-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b5a1efc7beec9996c88ec68d9a1afa74"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"82853950-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63faaacc-e1fa-4ffd-ad40-66ecea516650","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.3382769} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.197296,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"82853950-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"82853950-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"82853950-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b89c0b1e-1ece-445a-92fc-2af715becb96/signaling 200 9ms","method":"POST","requestID":"82853950-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8286e700-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c965381b-f6c3-4832-a278-2c9f68d6e760","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222143.3494647} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.378973,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8286e700-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8286e700-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8286e700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/3a977a3d-2c85-46c2-b452-01db04e1027c/signaling 200 10ms","method":"POST","requestID":"8286e700-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/3a977a3d-2c85-46c2-b452-01db04e1027c/signaling"} device-1 | {"device":"b89c0b1e-1ece-445a-92fc-2af715becb96","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b89c0b1e-1ece-445a-92fc-2af715becb96","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4357533699004597498 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:2rm3\r\na=ice-pwd:YqyzIIzOe890cjSPRDMgUMGN\r\na=ice-options:trickle\r\na=fingerprint:sha-256 87:9B:5E:98:35:76:A8:C8:B4:F2:0C:17:2E:BD:D0:F8:CF:9E:74:0B:30:04:74:FF:51:CE:2C:6B:D6:C1:2F:01\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b89c0b1e-1ece-445a-92fc-2af715becb96","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"b89c0b1e-1ece-445a-92fc-2af715becb96","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"3a977a3d-2c85-46c2-b452-01db04e1027c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3a977a3d-2c85-46c2-b452-01db04e1027c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3a977a3d-2c85-46c2-b452-01db04e1027c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3a977a3d-2c85-46c2-b452-01db04e1027c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3a977a3d-2c85-46c2-b452-01db04e1027c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"35cb0532c2cc3a50722bb6676922c7a5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"35cb0532c2cc3a50722bb6676922c7a5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443"}}},"level":"info","message":"received a callback","requestID":"35cb0532c2cc3a50722bb6676922c7a5"} device-1 | {"content":{"candidate":"candidate:1874688274 1 udp 2113937151 79c1354b-76a4-4018-9369-3b0e4dcdad0a.local 45675 typ host generation 0 ufrag 2rm3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b89c0b1e-1ece-445a-92fc-2af715becb96","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3952087917 1 udp 1677729535 141.24.211.56 45675 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 2rm3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b89c0b1e-1ece-445a-92fc-2af715becb96","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"35cb0532c2cc3a50722bb6676922c7a5","responseTime":11,"status":200,"url":"/callbacks/experiment"} device-1 | {"content":{"candidate":"candidate:3097341158 1 udp 33562623 141.24.210.113 65406 typ relay raddr 141.24.211.56 rport 45675 generation 0 ufrag 2rm3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b89c0b1e-1ece-445a-92fc-2af715becb96","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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.017","http_referrer":"","http_user_agent":"node-fetch","requestID":"35cb0532c2cc3a50722bb6676922c7a5"} device-1 | {"device":"b89c0b1e-1ece-445a-92fc-2af715becb96","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/b89c0b1e-1ece-445a-92fc-2af715becb96'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96'"} device-1 | {"data":{"peerconnection":"47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3a977a3d-2c85-46c2-b452-01db04e1027c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b89c0b1e-1ece-445a-92fc-2af715becb96","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"3a977a3d-2c85-46c2-b452-01db04e1027c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","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/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"30f7d299df322f5a33dadb37af0cd650","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"30f7d299df322f5a33dadb37af0cd650","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443"}}},"level":"info","message":"received a callback","requestID":"30f7d299df322f5a33dadb37af0cd650"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"83cc1130-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30d88d3b-68e6-4047-a348-1ace9fd54d3f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.4834387} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.670581,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"83cc1130-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"83cc1130-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"83cc1130-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443 200 16ms","method":"GET","requestID":"83cc1130-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"30f7d299df322f5a33dadb37af0cd650","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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.057","http_referrer":"","http_user_agent":"node-fetch","requestID":"30f7d299df322f5a33dadb37af0cd650"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"83d2a0e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a023a6c-b355-43c0-8fd6-beb1ff5b7b4c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.5259175} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.000275,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"83d2a0e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","object_type":"device","rebac_allow":false,"scope_allow":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":"83d2a0e0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"83d2a0e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/3a977a3d-2c85-46c2-b452-01db04e1027c/signaling 200 14ms","method":"POST","requestID":"83d2a0e0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/3a977a3d-2c85-46c2-b452-01db04e1027c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"83d56000-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a29c99bc-8602-4965-bcd9-6dd225e51a32","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.5434217} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.579454,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"83d56000-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","object_type":"device","rebac_allow":false,"scope_allow":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":"83d56000-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"83d56000-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b89c0b1e-1ece-445a-92fc-2af715becb96/signaling 200 15ms","method":"POST","requestID":"83d56000-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0NX0.mia4_CaNbdHpqAksFItBtPZZplPT1VCZOfWGN92UQow","level":"info","message":"auth send jwt","requestID":"14550e9d13c5d3bdabbca40191b3e477"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"14550e9d13c5d3bdabbca40191b3e477","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cd0a6688-59a0-4659-9103-25d1f51416ae","requestID":"14550e9d13c5d3bdabbca40191b3e477"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.450712,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"14550e9d13c5d3bdabbca40191b3e477","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222145,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0NX0.mia4_CaNbdHpqAksFItBtPZZplPT1VCZOfWGN92UQow"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"14550e9d13c5d3bdabbca40191b3e477","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cd0a6688-59a0-4659-9103-25d1f51416ae","requestID":"14550e9d13c5d3bdabbca40191b3e477"} gateway-1 | {"time_local":"24/Sep/2024:23:55:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cd0a6688-59a0-4659-9103-25d1f51416ae HTTP/1.1","status": "200","body_bytes_sent":"885","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"14550e9d13c5d3bdabbca40191b3e477"} experiment-1 | {"level":"info","message":"GET /experiments/cd0a6688-59a0-4659-9103-25d1f51416ae 200 20ms","method":"GET","requestID":"14550e9d13c5d3bdabbca40191b3e477","responseTime":20,"status":200,"url":"/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0NX0.mia4_CaNbdHpqAksFItBtPZZplPT1VCZOfWGN92UQow","level":"info","message":"auth send jwt","requestID":"d5a8181b5c997cd1888dc1adb5802357"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d5a8181b5c997cd1888dc1adb5802357","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/cd0a6688-59a0-4659-9103-25d1f51416ae","requestID":"d5a8181b5c997cd1888dc1adb5802357"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.329445,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d5a8181b5c997cd1888dc1adb5802357","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222145,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0NX0.mia4_CaNbdHpqAksFItBtPZZplPT1VCZOfWGN92UQow"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d5a8181b5c997cd1888dc1adb5802357","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Attempting to finish experiment","requestID":"d5a8181b5c997cd1888dc1adb5802357"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"83dfc040-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.160273,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"83dfc040-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222145,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0NX0.mia4_CaNbdHpqAksFItBtPZZplPT1VCZOfWGN92UQow"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"83dfc040-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","device":"b89c0b1e-1ece-445a-92fc-2af715becb96","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"3a977a3d-2c85-46c2-b452-01db04e1027c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3a977a3d-2c85-46c2-b452-01db04e1027c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3a977a3d-2c85-46c2-b452-01db04e1027c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"0cea6d60-0b3d-438a-a9b0-e85b47ac9abd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.6322496} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a665169c-4146-42fe-a4a2-d5d3814f7070","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.6324668} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bbc78ef7ba6a5aeda3b69daacfbd20c7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"bbc78ef7ba6a5aeda3b69daacfbd20c7","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"acff56814f02373681db4b734614372d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 9ms","method":"POST","requestID":"83dfc040-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"acff56814f02373681db4b734614372d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443"}}},"level":"info","message":"received a callback","requestID":"bbc78ef7ba6a5aeda3b69daacfbd20c7"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443"}}},"level":"info","message":"received a callback","requestID":"acff56814f02373681db4b734614372d"} device-1 | {"data":{"peerconnection":"47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"83dfc040-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443 204 49ms","method":"DELETE","requestID":"83dfc040-7ad0-11ef-9247-9909de679d1e","responseTime":49,"status":204,"url":"/peerconnections/47cc0c0b-99b4-4d0c-b1a8-17f2fd3ce443"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"},"level":"info","message":"Successfully finished experiment","requestID":"d5a8181b5c997cd1888dc1adb5802357"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"83eba720-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a977a3d-2c85-46c2-b452-01db04e1027c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1495d148-2081-41f5-8905-f485db8a6a8d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.6919417} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.008492,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"83eba720-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c","object_type":"device","rebac_allow":false,"scope_allow":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":"83eba720-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"83eba720-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcd0a6688-59a0-4659-9103-25d1f51416ae': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcd0a6688-59a0-4659-9103-25d1f51416ae","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"e8a98191-a79c-4180-866c-6983ddab1801","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.6993582} device-1 | {"level":"info","message":"POST /devices/3a977a3d-2c85-46c2-b452-01db04e1027c/signaling 200 18ms","method":"POST","requestID":"83eba720-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/3a977a3d-2c85-46c2-b452-01db04e1027c/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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa3ce0bd-b640-40cb-bc5c-9307f2d539f4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.699724} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"d5a8181b5c997cd1888dc1adb5802357","responseTime":23,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"83eedb70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb89c0b1e-1ece-445a-92fc-2af715becb96","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7773848-fb21-4834-9326-ed43fc9ade5d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.7102375} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.349818,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"83eedb70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b89c0b1e-1ece-445a-92fc-2af715becb96","object_type":"device","rebac_allow":false,"scope_allow":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":"83eedb70-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"83eedb70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b89c0b1e-1ece-445a-92fc-2af715becb96/signaling 200 14ms","method":"POST","requestID":"83eedb70-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/b89c0b1e-1ece-445a-92fc-2af715becb96/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/cd0a6688-59a0-4659-9103-25d1f51416ae","requestID":"d5a8181b5c997cd1888dc1adb5802357"} gateway-1 | {"time_local":"24/Sep/2024:23:55:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/cd0a6688-59a0-4659-9103-25d1f51416ae HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.198","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5a8181b5c997cd1888dc1adb5802357"} gateway-1 | {"time_local":"24/Sep/2024:23:55:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3423","request_time":"4.416","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"c01ca61ed3ca169308df1ed4c8b8f2bb"} experiment-1 | {"level":"info","message":"DELETE /experiments/cd0a6688-59a0-4659-9103-25d1f51416ae 204 196ms","method":"DELETE","requestID":"d5a8181b5c997cd1888dc1adb5802357","responseTime":196,"status":204,"url":"/experiments/cd0a6688-59a0-4659-9103-25d1f51416ae"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"bbc78ef7ba6a5aeda3b69daacfbd20c7","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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":"bbc78ef7ba6a5aeda3b69daacfbd20c7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"acff56814f02373681db4b734614372d","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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":"acff56814f02373681db4b734614372d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0NX0.mia4_CaNbdHpqAksFItBtPZZplPT1VCZOfWGN92UQow","level":"info","message":"auth send jwt","requestID":"f18d334ecf6752675fc119645700c412"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f18d334ecf6752675fc119645700c412","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f18d334ecf6752675fc119645700c412"} gateway-1 | {"time_local":"24/Sep/2024:23:55:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2886","request_time":"2.969","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a423202d11bbc29ee2be57f74d71702e"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3a977a3d-2c85-46c2-b452-01db04e1027c' closed"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.940683,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f18d334ecf6752675fc119645700c412","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222145,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0NX0.mia4_CaNbdHpqAksFItBtPZZplPT1VCZOfWGN92UQow"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f18d334ecf6752675fc119645700c412","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/b89c0b1e-1ece-445a-92fc-2af715becb96' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"32a1ec7e-f2c7-4f06-8a68-5bb8e3b936a3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.8097615} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f18d334ecf6752675fc119645700c412","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"121248f3-1473-412c-b523-1aad21dbbecd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.8164847} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"f18d334ecf6752675fc119645700c412","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"058c744d-8273-4261-8043-c35ade355e21","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.8276155} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0e8ce43-9351-4f9e-b7b6-a85313d736b5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.827804} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"f18d334ecf6752675fc119645700c412","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.827604338Z"}]},"request_id":"301f7cc7-8e87-440c-aaf3-1e8a9577ea55","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.8331847} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f18d334ecf6752675fc119645700c412","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f18d334ecf6752675fc119645700c412"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"f18d334ecf6752675fc119645700c412","responseTime":49,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:55:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f18d334ecf6752675fc119645700c412"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0NX0.mia4_CaNbdHpqAksFItBtPZZplPT1VCZOfWGN92UQow","level":"info","message":"auth send jwt","requestID":"9ecabe9c68d68557409c936fe439cdd3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ecabe9c68d68557409c936fe439cdd3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9ecabe9c68d68557409c936fe439cdd3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.694403,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ecabe9c68d68557409c936fe439cdd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222145,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0NX0.mia4_CaNbdHpqAksFItBtPZZplPT1VCZOfWGN92UQow"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9ecabe9c68d68557409c936fe439cdd3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aaad450e-c1af-4eda-89cc-472d8e4b698c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.8595243} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9ecabe9c68d68557409c936fe439cdd3","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29f280e3-e59d-4ab5-a48b-6e3ec72cffe7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.8650227} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"9ecabe9c68d68557409c936fe439cdd3","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"68aef375-3ff1-4285-bed5-514b151a67b5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.8821046} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fc32fa0-7b8f-46ed-b9c2-1cad4d734d91","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.8824134} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"9ecabe9c68d68557409c936fe439cdd3","responseTime":25,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.882089762Z"}]},"request_id":"9452fe68-37f2-4380-831a-b1121e34a740","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222145.8938599} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9ecabe9c68d68557409c936fe439cdd3","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9ecabe9c68d68557409c936fe439cdd3"} gateway-1 | {"time_local":"24/Sep/2024:23:55:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ecabe9c68d68557409c936fe439cdd3"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"9ecabe9c68d68557409c936fe439cdd3","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Nn0.Np4PS8etNL8ORP64JGVqfN6R7ZocS4_S-Jh6XB1fDaM","level":"info","message":"auth send jwt","requestID":"38a974f77b315337677b4e6d4a4b171b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"38a974f77b315337677b4e6d4a4b171b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"38a974f77b315337677b4e6d4a4b171b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.438827,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"38a974f77b315337677b4e6d4a4b171b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222146,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Nn0.Np4PS8etNL8ORP64JGVqfN6R7ZocS4_S-Jh6XB1fDaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"38a974f77b315337677b4e6d4a4b171b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.827604338Z"}]},"request_id":"4a1c50a9-2eac-4e7f-8a72-5d485e863c73","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222146.3842578} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"38a974f77b315337677b4e6d4a4b171b","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb9df2ec-17ef-424b-bc42-ae0a395d6a88","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222146.3919733} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"38a974f77b315337677b4e6d4a4b171b","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.827604338Z"}]},"request_id":"720eec32-a2dc-4156-b55f-b3a990330758","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222146.4053378} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"38a974f77b315337677b4e6d4a4b171b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"38a974f77b315337677b4e6d4a4b171b"} gateway-1 | {"time_local":"24/Sep/2024:23:55:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b1646716-6458-4784-b9d4-980bb3e80a79 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"38a974f77b315337677b4e6d4a4b171b"} device-1 | {"level":"info","message":"PATCH /devices/b1646716-6458-4784-b9d4-980bb3e80a79 200 39ms","method":"PATCH","requestID":"38a974f77b315337677b4e6d4a4b171b","responseTime":39,"status":200,"url":"/devices/b1646716-6458-4784-b9d4-980bb3e80a79"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Nn0.Np4PS8etNL8ORP64JGVqfN6R7ZocS4_S-Jh6XB1fDaM","level":"info","message":"auth send jwt","requestID":"cc69250f76ff0084a0db9024ad0b7534"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cc69250f76ff0084a0db9024ad0b7534","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"cc69250f76ff0084a0db9024ad0b7534"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.291275,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cc69250f76ff0084a0db9024ad0b7534","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222146,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0Nn0.Np4PS8etNL8ORP64JGVqfN6R7ZocS4_S-Jh6XB1fDaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc69250f76ff0084a0db9024ad0b7534","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"cc69250f76ff0084a0db9024ad0b7534"} gateway-1 | {"time_local":"24/Sep/2024:23:55:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b1646716-6458-4784-b9d4-980bb3e80a79/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"cc69250f76ff0084a0db9024ad0b7534"} device-1 | {"level":"info","message":"POST /devices/b1646716-6458-4784-b9d4-980bb3e80a79/websocket 200 20ms","method":"POST","requestID":"cc69250f76ff0084a0db9024ad0b7534","responseTime":20,"status":200,"url":"/devices/b1646716-6458-4784-b9d4-980bb3e80a79/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fa7acd0535b4da7e47db0d34edf67c95","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"fa7acd0535b4da7e47db0d34edf67c95","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:55:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.007","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fa7acd0535b4da7e47db0d34edf67c95"} device-1 | {"level":"info","message":"OPTIONS /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/websocket 200 2ms","method":"OPTIONS","requestID":"fa7acd0535b4da7e47db0d34edf67c95","responseTime":2,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0N30.EFIOx7sLPTmXOrMWnnYgYdSYSiZ7L4bNBtX4Sn9L7d8","level":"info","message":"auth send jwt","requestID":"a9d1e406369e2fc531e75a05b6b5405f"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"a9d1e406369e2fc531e75a05b6b5405f","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a9d1e406369e2fc531e75a05b6b5405f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:47Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.281867,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9d1e406369e2fc531e75a05b6b5405f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222147,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0N30.EFIOx7sLPTmXOrMWnnYgYdSYSiZ7L4bNBtX4Sn9L7d8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a9d1e406369e2fc531e75a05b6b5405f","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a9d1e406369e2fc531e75a05b6b5405f"} gateway-1 | {"time_local":"24/Sep/2024:23:55:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/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":"a9d1e406369e2fc531e75a05b6b5405f"} device-1 | {"level":"info","message":"POST /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/websocket 200 23ms","method":"POST","requestID":"a9d1e406369e2fc531e75a05b6b5405f","responseTime":23,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e8b6e594e8227ca2a2bd3679a445d576","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e8b6e594e8227ca2a2bd3679a445d576","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"e8b6e594e8227ca2a2bd3679a445d576"} device-1 | {"level":"info","message":"OPTIONS /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc? 200 1ms","method":"OPTIONS","requestID":"e8b6e594e8227ca2a2bd3679a445d576","responseTime":1,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw","level":"info","message":"auth send jwt","requestID":"cb55c3d5bb2f248e7f29426cb89c7e68"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cb55c3d5bb2f248e7f29426cb89c7e68","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"cb55c3d5bb2f248e7f29426cb89c7e68"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.946404,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cb55c3d5bb2f248e7f29426cb89c7e68","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb55c3d5bb2f248e7f29426cb89c7e68","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.882089762Z"}]},"request_id":"1ce55368-3553-4503-831e-292b70661ec8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.0338027} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"cb55c3d5bb2f248e7f29426cb89c7e68","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8bee53cc-5548-4752-ab2a-4f294e2abd17","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.0438828} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"cb55c3d5bb2f248e7f29426cb89c7e68","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.882089762Z"}]},"request_id":"0591242c-9fd5-4e14-a848-ab07f951ed9e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.055012} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cb55c3d5bb2f248e7f29426cb89c7e68","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"cb55c3d5bb2f248e7f29426cb89c7e68"} device-1 | {"level":"info","message":"PATCH /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc? 200 39ms","method":"PATCH","requestID":"cb55c3d5bb2f248e7f29426cb89c7e68","responseTime":39,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc?"} gateway-1 | {"time_local":"24/Sep/2024:23:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cb55c3d5bb2f248e7f29426cb89c7e68"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw","level":"info","message":"auth send jwt","requestID":"81ae3df020aff32c768805537ca60ee8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"81ae3df020aff32c768805537ca60ee8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"81ae3df020aff32c768805537ca60ee8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.089342,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"81ae3df020aff32c768805537ca60ee8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"81ae3df020aff32c768805537ca60ee8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.827604338Z"}]},"request_id":"29aac4e3-b97d-4360-bccb-02fe684e4c38","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.0813017} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"81ae3df020aff32c768805537ca60ee8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"81ae3df020aff32c768805537ca60ee8"} gateway-1 | {"time_local":"24/Sep/2024:23:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b1646716-6458-4784-b9d4-980bb3e80a79? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81ae3df020aff32c768805537ca60ee8"} device-1 | {"level":"info","message":"GET /devices/b1646716-6458-4784-b9d4-980bb3e80a79? 200 15ms","method":"GET","requestID":"81ae3df020aff32c768805537ca60ee8","responseTime":15,"status":200,"url":"/devices/b1646716-6458-4784-b9d4-980bb3e80a79?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw","level":"info","message":"auth send jwt","requestID":"dfaf9c33c4f44cff94da2e6b5639a895"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dfaf9c33c4f44cff94da2e6b5639a895","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dfaf9c33c4f44cff94da2e6b5639a895"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.881019,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dfaf9c33c4f44cff94da2e6b5639a895","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dfaf9c33c4f44cff94da2e6b5639a895","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.882089762Z"}]},"request_id":"40519bb7-9a09-4a8a-9a29-076e20aaaea1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.1034288} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dfaf9c33c4f44cff94da2e6b5639a895","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dfaf9c33c4f44cff94da2e6b5639a895"} gateway-1 | {"time_local":"24/Sep/2024:23:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dfaf9c33c4f44cff94da2e6b5639a895"} device-1 | {"level":"info","message":"GET /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc? 200 15ms","method":"GET","requestID":"dfaf9c33c4f44cff94da2e6b5639a895","responseTime":15,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw","level":"info","message":"auth send jwt","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"818b6ab96f29f992e5b5ae406de3ca32","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.242545,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"818b6ab96f29f992e5b5ae406de3ca32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"818b6ab96f29f992e5b5ae406de3ca32","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Attempting to run experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Attempting to book experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Successfully booked experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"856575e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"85659cf0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778908,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"856575e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"856575e0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906532,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"85659cf0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"85659cf0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.827604338Z"}]},"request_id":"b7ab1bb2-1edf-4081-ada5-ebb926c70a9d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.1693492} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"856575e0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.882089762Z"}]},"request_id":"f8c8c62e-0564-4bf5-b9bb-574ca13179b3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.1705618} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"85659cf0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"856575e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/b1646716-6458-4784-b9d4-980bb3e80a79? 200 17ms","method":"GET","requestID":"856575e0-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/b1646716-6458-4784-b9d4-980bb3e80a79?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"85659cf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc? 200 16ms","method":"GET","requestID":"85659cf0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Setting up experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Successfully locked booking for experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Attempting to update booking for experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Successfully updated booking for experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Successfully set up experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"85726e30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8572e360-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"85733180-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.549164,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Successfully running experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"85726e30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"85726e30-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.830915,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8572e360-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"8572e360-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.882089762Z"}]},"request_id":"e09930a4-2ae3-40e6-92cc-8943ed066fd2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.2658458} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"8572e360-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.827604338Z"}]},"request_id":"08e4ce0c-cd36-43df-87db-ac35cd9e239c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.2676938} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8572e360-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"85726e30-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:59552","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e7c8a46-a716-49e5-be65-3cb1faa8f554","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.273769} device-1 | {"level":"info","message":"GET /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc? 200 28ms","method":"GET","requestID":"8572e360-7ad0-11ef-9247-9909de679d1e","responseTime":28,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc?"} authorization-1 | {"client_addr":"127.0.0.1:59552","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.963536,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"85733180-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 21ms","method":"POST","requestID":"85733180-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"85726e30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe03e757f-4fe7-421e-910b-5a4045d3b9de#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe03e757f-4fe7-421e-910b-5a4045d3b9de","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"2c232745-cb82-48f1-8e61-da0901860e1f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.280455} device-1 | {"level":"info","message":"GET /devices/b1646716-6458-4784-b9d4-980bb3e80a79? 200 38ms","method":"GET","requestID":"85726e30-7ad0-11ef-9247-9909de679d1e","responseTime":38,"status":200,"url":"/devices/b1646716-6458-4784-b9d4-980bb3e80a79?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"85733180-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b1646716-6458-4784-b9d4-980bb3e80a79/signaling 200 34ms","method":"POST","requestID":"85733180-7ad0-11ef-9247-9909de679d1e","responseTime":34,"status":200,"url":"/devices/b1646716-6458-4784-b9d4-980bb3e80a79/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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e80a22e7-8abc-48ab-bb53-ba0cef577d19","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.281034} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8578afc0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"818b6ab96f29f992e5b5ae406de3ca32","responseTime":24,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"857924f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d5b2046-1bf8-4431-b26a-1b8a4594ec80","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.2926419} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.76111,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8578afc0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"8578afc0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de5fac8d-3273-4fb4-a2a4-6ca000d937e0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.2969775} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.937358,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"857924f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"24/Sep/2024:23:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"812","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} experiment-1 | {"level":"info","message":"POST /experiments? 201 183ms","method":"POST","requestID":"818b6ab96f29f992e5b5ae406de3ca32","responseTime":183,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"857924f0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8578afc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b1646716-6458-4784-b9d4-980bb3e80a79/signaling 200 21ms","method":"POST","requestID":"8578afc0-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/b1646716-6458-4784-b9d4-980bb3e80a79/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"857924f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/signaling 200 19ms","method":"POST","requestID":"857924f0-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw","level":"info","message":"auth send jwt","requestID":"93eb82bfed5254dcaa2c894ec0e48f0c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"93eb82bfed5254dcaa2c894ec0e48f0c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"857c5940-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"93eb82bfed5254dcaa2c894ec0e48f0c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"132ad918-342c-40a0-955c-bf6b37346f95","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.3133204} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.069531,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188817,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"857c5940-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","object_type":"device","rebac_allow":false,"scope_allow":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":"857c5940-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"93eb82bfed5254dcaa2c894ec0e48f0c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"93eb82bfed5254dcaa2c894ec0e48f0c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"857c5940-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/signaling 200 11ms","method":"POST","requestID":"857c5940-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.827604338Z"}]},"request_id":"3b5d9e14-c154-4959-9722-b4c6fa8dbeb3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.3203459} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"93eb82bfed5254dcaa2c894ec0e48f0c","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"857ea330-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"857eca40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"93eb82bfed5254dcaa2c894ec0e48f0c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710322,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} gateway-1 | {"time_local":"24/Sep/2024:23:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b1646716-6458-4784-b9d4-980bb3e80a79? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93eb82bfed5254dcaa2c894ec0e48f0c"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} device-1 | {"level":"info","message":"GET /devices/b1646716-6458-4784-b9d4-980bb3e80a79? 200 19ms","method":"GET","requestID":"93eb82bfed5254dcaa2c894ec0e48f0c","responseTime":19,"status":200,"url":"/devices/b1646716-6458-4784-b9d4-980bb3e80a79?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"857ea330-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"857ea330-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.810976,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"857eca40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"857eca40-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw","level":"info","message":"auth send jwt","requestID":"3f8d5a3ec885e583d4b6e6da0a9b1492"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3f8d5a3ec885e583d4b6e6da0a9b1492","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3f8d5a3ec885e583d4b6e6da0a9b1492"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.827604338Z"}]},"request_id":"3cb9ea47-7db2-4578-ac64-cddbdde43e51","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.3341918} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"857ea330-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.882089762Z"}]},"request_id":"3828993a-d841-4eb8-9dbf-0087d6663e0b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.3360338} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"857eca40-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764967,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3f8d5a3ec885e583d4b6e6da0a9b1492","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"857ea330-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3f8d5a3ec885e583d4b6e6da0a9b1492","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/b1646716-6458-4784-b9d4-980bb3e80a79? 200 19ms","method":"GET","requestID":"857ea330-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/b1646716-6458-4784-b9d4-980bb3e80a79?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"857eca40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc? 200 19ms","method":"GET","requestID":"857eca40-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Building connection plan","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"464c1c6f-8549-418b-b733-f550d1781f93"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"202cee97-ae03-4f60-8d1f-da6997b49a73"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"73d9e60c-3aaf-40e4-b1d5-c586da67331b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"85824cb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:45.882089762Z"}]},"request_id":"2f183de1-a089-4345-9226-1662e4e3b105","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.3476477} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3f8d5a3ec885e583d4b6e6da0a9b1492","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.728032,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3f8d5a3ec885e583d4b6e6da0a9b1492"} device-1 | {"level":"info","message":"GET /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc? 200 18ms","method":"GET","requestID":"3f8d5a3ec885e583d4b6e6da0a9b1492","responseTime":18,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc?"} gateway-1 | {"time_local":"24/Sep/2024:23:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f8d5a3ec885e583d4b6e6da0a9b1492"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"85824cb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222148,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE0OH0.kSXYYdt06tI_g8IxdESrjJ_d3NATKx2dBduxYrjA_Uw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"85824cb0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"68ac42ca-b647-41aa-981c-990e24a1c578","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.3613648} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ca25f8c-b422-4794-b8cd-55bc6c5f400b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.3615203} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"85824cb0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"85824cb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"85824cb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53'","requestID":"85824cb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53'","requestID":"85824cb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"85824cb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 29ms","method":"POST","requestID":"85824cb0-7ad0-11ef-9247-9909de679d1e","responseTime":29,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"85824cb0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"818b6ab96f29f992e5b5ae406de3ca32"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"858bc290-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2591c461-bd14-4d40-8f98-38d6f43e88d5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.4143178} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.780898,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"858bc290-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","object_type":"device","rebac_allow":false,"scope_allow":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":"858bc290-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"858bc290-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b1646716-6458-4784-b9d4-980bb3e80a79/signaling 200 10ms","method":"POST","requestID":"858bc290-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/b1646716-6458-4784-b9d4-980bb3e80a79/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"858dbe60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5112dd7c-16cc-464e-b0ad-0ad43d75ebb1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222148.4275737} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.571487,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"858dbe60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"858dbe60-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"858dbe60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/signaling 200 13ms","method":"POST","requestID":"858dbe60-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/signaling"} device-1 | {"device":"b1646716-6458-4784-b9d4-980bb3e80a79","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"25f3e5d2-5677-4183-889d-9d351b722f53","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 2421691221421395670 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:4CRg\r\na=ice-pwd:7MqUNcjnRsNc+4ktJJE2IhFv\r\na=ice-options:trickle\r\na=fingerprint:sha-256 81:B0:12:E0:B3:66:96:9B:0C:90:3B:06:F9:5D:96:19:FD:E1:E3:BE:63:FE:E4:29:69:AE:A8:3D:95:A8:46:77\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2346004832 1 udp 2113937151 3892fc21-e9a1-4055-956d-b6336a61a410.local 59696 typ host generation 0 ufrag 4CRg network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:267934495 1 udp 1677729535 141.24.211.56 59696 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 4CRg network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","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/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"25f3e5d2-5677-4183-889d-9d351b722f53","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b1646716-6458-4784-b9d4-980bb3e80a79","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b1646716-6458-4784-b9d4-980bb3e80a79","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b1646716-6458-4784-b9d4-980bb3e80a79","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a15287a222c211c4a45237bc8916c44f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a15287a222c211c4a45237bc8916c44f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53"}}},"level":"info","message":"received a callback","requestID":"a15287a222c211c4a45237bc8916c44f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"a15287a222c211c4a45237bc8916c44f","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"a15287a222c211c4a45237bc8916c44f"} device-1 | {"data":{"peerconnection":"25f3e5d2-5677-4183-889d-9d351b722f53","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b1646716-6458-4784-b9d4-980bb3e80a79","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"b1646716-6458-4784-b9d4-980bb3e80a79","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"25f3e5d2-5677-4183-889d-9d351b722f53","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","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/25f3e5d2-5677-4183-889d-9d351b722f53' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"25f3e5d2-5677-4183-889d-9d351b722f53","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7102c41667b640ea3a40130e16dc7220","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"7102c41667b640ea3a40130e16dc7220","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53"}}},"level":"info","message":"received a callback","requestID":"7102c41667b640ea3a40130e16dc7220"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"86d1d720-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F25f3e5d2-5677-4183-889d-9d351b722f53","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61060174-373a-430b-9098-a92398cbd79f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.5540392} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.702835,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"86d1d720-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"86d1d720-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"86d1d720-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53 200 14ms","method":"GET","requestID":"86d1d720-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"7102c41667b640ea3a40130e16dc7220","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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.057","http_referrer":"","http_user_agent":"node-fetch","requestID":"7102c41667b640ea3a40130e16dc7220"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"86d866d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91b40164-3df8-45e5-ab7e-13096fb6a58c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.5958912} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.583463,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"86d866d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","object_type":"device","rebac_allow":false,"scope_allow":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":"86d866d0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"86d866d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/signaling 200 14ms","method":"POST","requestID":"86d866d0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"86db4d00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab72fe60-3ed5-4e5a-a92e-ae9af3a4a8ca","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.6150906} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.061143,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"86db4d00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","object_type":"device","rebac_allow":false,"scope_allow":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":"86db4d00-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MH0.qTQl1TZoUB9HuY4D3Dm5KVtR6nvgXUPic0proAy9BTs","level":"info","message":"auth send jwt","requestID":"f9ec486dc05ab2eb9f5764ba9f3b8289"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"86db4d00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b1646716-6458-4784-b9d4-980bb3e80a79/signaling 200 15ms","method":"POST","requestID":"86db4d00-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/b1646716-6458-4784-b9d4-980bb3e80a79/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f9ec486dc05ab2eb9f5764ba9f3b8289","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de","requestID":"f9ec486dc05ab2eb9f5764ba9f3b8289"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.02631,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f9ec486dc05ab2eb9f5764ba9f3b8289","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222150,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MH0.qTQl1TZoUB9HuY4D3Dm5KVtR6nvgXUPic0proAy9BTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f9ec486dc05ab2eb9f5764ba9f3b8289","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de","requestID":"f9ec486dc05ab2eb9f5764ba9f3b8289"} experiment-1 | {"level":"info","message":"GET /experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de 200 18ms","method":"GET","requestID":"f9ec486dc05ab2eb9f5764ba9f3b8289","responseTime":18,"status":200,"url":"/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"} gateway-1 | {"time_local":"24/Sep/2024:23:55:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de HTTP/1.1","status": "200","body_bytes_sent":"885","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9ec486dc05ab2eb9f5764ba9f3b8289"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MH0.qTQl1TZoUB9HuY4D3Dm5KVtR6nvgXUPic0proAy9BTs","level":"info","message":"auth send jwt","requestID":"defb39dce23485a4aed29d39dbd01d98"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"defb39dce23485a4aed29d39dbd01d98","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de","requestID":"defb39dce23485a4aed29d39dbd01d98"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.899128,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"defb39dce23485a4aed29d39dbd01d98","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222150,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MH0.qTQl1TZoUB9HuY4D3Dm5KVtR6nvgXUPic0proAy9BTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"defb39dce23485a4aed29d39dbd01d98","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Attempting to finish experiment","requestID":"defb39dce23485a4aed29d39dbd01d98"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"86e53810-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.147203,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"86e53810-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222150,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MH0.qTQl1TZoUB9HuY4D3Dm5KVtR6nvgXUPic0proAy9BTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"86e53810-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53","device":"bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"b1646716-6458-4784-b9d4-980bb3e80a79","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b1646716-6458-4784-b9d4-980bb3e80a79","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b1646716-6458-4784-b9d4-980bb3e80a79","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/25f3e5d2-5677-4183-889d-9d351b722f53' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"25f3e5d2-5677-4183-889d-9d351b722f53","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F25f3e5d2-5677-4183-889d-9d351b722f53': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F25f3e5d2-5677-4183-889d-9d351b722f53","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"6c76b0c7-b501-4b1c-a009-6f35eed91c6c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.7021475} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ee39d4cb1bfecb12a9629a8a99b65026","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ee39d4cb1bfecb12a9629a8a99b65026","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4985327c-c292-49c0-a6be-9c72cafa55e3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.7034833} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cf97ab1947c4755f0312300759319c90","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 14ms","method":"POST","requestID":"86e53810-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cf97ab1947c4755f0312300759319c90","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53"}}},"level":"info","message":"received a callback","requestID":"ee39d4cb1bfecb12a9629a8a99b65026"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53"}}},"level":"info","message":"received a callback","requestID":"cf97ab1947c4755f0312300759319c90"} device-1 | {"data":{"peerconnection":"25f3e5d2-5677-4183-889d-9d351b722f53","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"86e53810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53 204 54ms","method":"DELETE","requestID":"86e53810-7ad0-11ef-9247-9909de679d1e","responseTime":54,"status":204,"url":"/peerconnections/25f3e5d2-5677-4183-889d-9d351b722f53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"},"level":"info","message":"Successfully finished experiment","requestID":"defb39dce23485a4aed29d39dbd01d98"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"86f1bb30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf66e9ef-5181-4eb2-a35b-dc237a1f65bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40f2f52c-3772-4940-9d64-1eb526045e18","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.7626314} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.701333,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"86f1bb30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc","object_type":"device","rebac_allow":false,"scope_allow":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":"86f1bb30-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"86f1bb30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/signaling 200 15ms","method":"POST","requestID":"86f1bb30-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe03e757f-4fe7-421e-910b-5a4045d3b9de': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe03e757f-4fe7-421e-910b-5a4045d3b9de","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"68b4d159-8082-4f74-a6ad-15b94f5b0c6f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.7714937} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3fddfa8-12d9-4afb-99be-b8693af48b67","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.7719455} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"86f47a50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"defb39dce23485a4aed29d39dbd01d98","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1646716-6458-4784-b9d4-980bb3e80a79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ae7a6b6-d620-4944-9b9b-45f717e2d7ac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.7815876} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.520479,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"86f47a50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79","object_type":"device","rebac_allow":false,"scope_allow":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":"86f47a50-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"86f47a50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b1646716-6458-4784-b9d4-980bb3e80a79/signaling 200 16ms","method":"POST","requestID":"86f47a50-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/b1646716-6458-4784-b9d4-980bb3e80a79/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de","requestID":"defb39dce23485a4aed29d39dbd01d98"} gateway-1 | {"time_local":"24/Sep/2024:23:55:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.204","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"defb39dce23485a4aed29d39dbd01d98"} gateway-1 | {"time_local":"24/Sep/2024:23:55:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3029","request_time":"4.416","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"30d101cbd0a3ac4b966a070a2f64384f"} experiment-1 | {"level":"info","message":"DELETE /experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de 204 200ms","method":"DELETE","requestID":"defb39dce23485a4aed29d39dbd01d98","responseTime":200,"status":204,"url":"/experiments/e03e757f-4fe7-421e-910b-5a4045d3b9de"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"ee39d4cb1bfecb12a9629a8a99b65026","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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.157","http_referrer":"","http_user_agent":"node-fetch","requestID":"ee39d4cb1bfecb12a9629a8a99b65026"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"cf97ab1947c4755f0312300759319c90","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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.157","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf97ab1947c4755f0312300759319c90"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MH0.qTQl1TZoUB9HuY4D3Dm5KVtR6nvgXUPic0proAy9BTs","level":"info","message":"auth send jwt","requestID":"39c1f84b439aafb81ec900486b2f416d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"39c1f84b439aafb81ec900486b2f416d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"39c1f84b439aafb81ec900486b2f416d"} gateway-1 | {"time_local":"24/Sep/2024:23:55:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2891","request_time":"2.897","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5e228895c689a3cfae269c2f51aee2ef"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b1646716-6458-4784-b9d4-980bb3e80a79' closed"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.135108,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"39c1f84b439aafb81ec900486b2f416d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222150,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MH0.qTQl1TZoUB9HuY4D3Dm5KVtR6nvgXUPic0proAy9BTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"39c1f84b439aafb81ec900486b2f416d","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bf66e9ef-5181-4eb2-a35b-dc237a1f65bc' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d4b3b30e-5bda-429b-a678-94bb1320e3ee","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.8858726} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"39c1f84b439aafb81ec900486b2f416d","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17a4c0eb-331d-464c-91ca-b68cd19cd6d1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.892559} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"39c1f84b439aafb81ec900486b2f416d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"3af8a51b-0bc4-4bc9-8e9c-216f7461b1d6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.9027169} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9cdd557c-de43-4861-8b95-31815d9a63b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.9028265} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"39c1f84b439aafb81ec900486b2f416d","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.902705811Z"}]},"request_id":"616e733b-675a-4bf8-9978-eb0f23b0ebe9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.9086258} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"39c1f84b439aafb81ec900486b2f416d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"39c1f84b439aafb81ec900486b2f416d"} gateway-1 | {"time_local":"24/Sep/2024:23:55:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39c1f84b439aafb81ec900486b2f416d"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"39c1f84b439aafb81ec900486b2f416d","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MH0.qTQl1TZoUB9HuY4D3Dm5KVtR6nvgXUPic0proAy9BTs","level":"info","message":"auth send jwt","requestID":"a7a35eea16f8d05ebb01692dca246f2f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a7a35eea16f8d05ebb01692dca246f2f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a7a35eea16f8d05ebb01692dca246f2f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.703177,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7a35eea16f8d05ebb01692dca246f2f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222150,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MH0.qTQl1TZoUB9HuY4D3Dm5KVtR6nvgXUPic0proAy9BTs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a7a35eea16f8d05ebb01692dca246f2f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a759d953-6a6b-4034-b909-e66f6bccd30e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.9401488} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a7a35eea16f8d05ebb01692dca246f2f","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e904df8-b8d1-44fa-a5b8-4a3e7e7d0f2e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.9458861} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a7a35eea16f8d05ebb01692dca246f2f","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"e293201c-8d4b-4a36-ab84-70210a3fea1f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.9573042} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8239b064-984b-4851-9ab1-97df93ff0a74","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.9574358} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"a7a35eea16f8d05ebb01692dca246f2f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.957291845Z"}]},"request_id":"1b19adb3-bc8c-4913-9bb4-149a173c9fc1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222150.9622638} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a7a35eea16f8d05ebb01692dca246f2f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a7a35eea16f8d05ebb01692dca246f2f"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"a7a35eea16f8d05ebb01692dca246f2f","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:55:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a7a35eea16f8d05ebb01692dca246f2f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M","level":"info","message":"auth send jwt","requestID":"098d90aa3424c87685e10bbfb34b5376"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"098d90aa3424c87685e10bbfb34b5376","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M","level":"info","message":"auth send jwt","requestID":"5197b8e7f37337ddbb83949386ddd530"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5197b8e7f37337ddbb83949386ddd530","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"098d90aa3424c87685e10bbfb34b5376"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"5197b8e7f37337ddbb83949386ddd530"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.646917,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"098d90aa3424c87685e10bbfb34b5376","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"098d90aa3424c87685e10bbfb34b5376","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.523653,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5197b8e7f37337ddbb83949386ddd530","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5197b8e7f37337ddbb83949386ddd530","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.957291845Z"}]},"request_id":"82472fdd-4abd-4b15-891c-15ec9d20c117","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.4397802} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"098d90aa3424c87685e10bbfb34b5376","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.902705811Z"}]},"request_id":"4f5fb64d-47c7-44ee-99d1-364288e8b6a5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.440634} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5197b8e7f37337ddbb83949386ddd530","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d7d61d0-18c6-4169-81d3-045666e2c567","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.4458473} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"098d90aa3424c87685e10bbfb34b5376","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a449d26e-74ac-4c46-9a67-78761d7983c6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.4479032} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5197b8e7f37337ddbb83949386ddd530","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.902705811Z"}]},"request_id":"111176d5-9267-4986-9265-0e307e7502ce","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.4513104} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5197b8e7f37337ddbb83949386ddd530","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"5197b8e7f37337ddbb83949386ddd530"} gateway-1 | {"time_local":"24/Sep/2024:23:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/cad52876-a0b0-4169-91ab-278b6e151375 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"5197b8e7f37337ddbb83949386ddd530"} device-1 | {"level":"info","message":"PATCH /devices/cad52876-a0b0-4169-91ab-278b6e151375 200 26ms","method":"PATCH","requestID":"5197b8e7f37337ddbb83949386ddd530","responseTime":26,"status":200,"url":"/devices/cad52876-a0b0-4169-91ab-278b6e151375"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M","level":"info","message":"auth send jwt","requestID":"6b010d94d86404f3d07384f4400813dd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6b010d94d86404f3d07384f4400813dd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6b010d94d86404f3d07384f4400813dd"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700256,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6b010d94d86404f3d07384f4400813dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6b010d94d86404f3d07384f4400813dd","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.957291845Z"}]},"request_id":"e4ccd350-5477-4f1d-9eee-717ee993a3ec","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.4636636} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"098d90aa3424c87685e10bbfb34b5376","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"098d90aa3424c87685e10bbfb34b5376"} gateway-1 | {"time_local":"24/Sep/2024:23:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"098d90aa3424c87685e10bbfb34b5376"} device-1 | {"level":"info","message":"PATCH /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45 200 41ms","method":"PATCH","requestID":"098d90aa3424c87685e10bbfb34b5376","responseTime":41,"status":200,"url":"/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M","level":"info","message":"auth send jwt","requestID":"50378f961b5abaf6f9f03cea7cc5bd14"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"50378f961b5abaf6f9f03cea7cc5bd14","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"50378f961b5abaf6f9f03cea7cc5bd14"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680328,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"50378f961b5abaf6f9f03cea7cc5bd14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"50378f961b5abaf6f9f03cea7cc5bd14","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6b010d94d86404f3d07384f4400813dd"} gateway-1 | {"time_local":"24/Sep/2024:23:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cad52876-a0b0-4169-91ab-278b6e151375/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"6b010d94d86404f3d07384f4400813dd"} device-1 | {"level":"info","message":"POST /devices/cad52876-a0b0-4169-91ab-278b6e151375/websocket 200 21ms","method":"POST","requestID":"6b010d94d86404f3d07384f4400813dd","responseTime":21,"status":200,"url":"/devices/cad52876-a0b0-4169-91ab-278b6e151375/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"50378f961b5abaf6f9f03cea7cc5bd14"} device-1 | {"level":"info","message":"POST /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/websocket 200 17ms","method":"POST","requestID":"50378f961b5abaf6f9f03cea7cc5bd14","responseTime":17,"status":200,"url":"/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"50378f961b5abaf6f9f03cea7cc5bd14"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M","level":"info","message":"auth send jwt","requestID":"87e45494631eca305d9aec7727c45609"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"87e45494631eca305d9aec7727c45609","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87e45494631eca305d9aec7727c45609"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688697,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"87e45494631eca305d9aec7727c45609","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87e45494631eca305d9aec7727c45609","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.902705811Z"}]},"request_id":"8d28fb14-c4ea-40b3-bd4d-2da6b818f3ac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.5291193} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"87e45494631eca305d9aec7727c45609","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87e45494631eca305d9aec7727c45609"} gateway-1 | {"time_local":"24/Sep/2024:23:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cad52876-a0b0-4169-91ab-278b6e151375? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87e45494631eca305d9aec7727c45609"} device-1 | {"level":"info","message":"GET /devices/cad52876-a0b0-4169-91ab-278b6e151375? 200 14ms","method":"GET","requestID":"87e45494631eca305d9aec7727c45609","responseTime":14,"status":200,"url":"/devices/cad52876-a0b0-4169-91ab-278b6e151375?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M","level":"info","message":"auth send jwt","requestID":"2339d49214951deffd7b518bb1eca24c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2339d49214951deffd7b518bb1eca24c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2339d49214951deffd7b518bb1eca24c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.894426,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2339d49214951deffd7b518bb1eca24c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2339d49214951deffd7b518bb1eca24c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.957291845Z"}]},"request_id":"79d0b583-a756-403e-8c77-61bd27df33a4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.5508592} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2339d49214951deffd7b518bb1eca24c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2339d49214951deffd7b518bb1eca24c"} gateway-1 | {"time_local":"24/Sep/2024:23:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2339d49214951deffd7b518bb1eca24c"} device-1 | {"level":"info","message":"GET /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45? 200 14ms","method":"GET","requestID":"2339d49214951deffd7b518bb1eca24c","responseTime":15,"status":200,"url":"/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M","level":"info","message":"auth send jwt","requestID":"5c5dd7a3b9274266c421595d718d6c73"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5c5dd7a3b9274266c421595d718d6c73","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5c5dd7a3b9274266c421595d718d6c73"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.671766,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5c5dd7a3b9274266c421595d718d6c73","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5c5dd7a3b9274266c421595d718d6c73","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Attempting to run experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Attempting to book experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Successfully booked experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8773bc70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87740a90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.528124,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8773bc70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8773bc70-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.881454,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"87740a90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"87740a90-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.902705811Z"}]},"request_id":"0fcce3ff-875f-48fe-814f-a70fcafe262c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.6186192} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"8773bc70-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.957291845Z"}]},"request_id":"3d003c3f-92c9-457e-ba83-efecb0c74886","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.6226044} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"87740a90-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8773bc70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/cad52876-a0b0-4169-91ab-278b6e151375? 200 23ms","method":"GET","requestID":"8773bc70-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/cad52876-a0b0-4169-91ab-278b6e151375?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87740a90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45? 200 23ms","method":"GET","requestID":"87740a90-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Setting up experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Successfully set up experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87801880-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87808db0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8780dbd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.259359,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"87801880-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"87801880-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Successfully running experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206598,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"87808db0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"87808db0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.176402,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1244c064-352b-41a0-8491-c0b2e85a882c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.703922} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.902705811Z"}]},"request_id":"c09a238a-a69b-4818-8129-80c8f795b7fb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.706316} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8780dbd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","object_type":"device","rebac_allow":false,"scope_allow":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":"8780dbd0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"87801880-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.957291845Z"}]},"request_id":"88240844-67ef-4740-82fd-0e01247152ee","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.7120032} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"87808db0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8780dbd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cad52876-a0b0-4169-91ab-278b6e151375/signaling 200 24ms","method":"POST","requestID":"8780dbd0-7ad0-11ef-9247-9909de679d1e","responseTime":24,"status":200,"url":"/devices/cad52876-a0b0-4169-91ab-278b6e151375/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8784fa80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87801880-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/cad52876-a0b0-4169-91ab-278b6e151375? 200 34ms","method":"GET","requestID":"87801880-7ad0-11ef-9247-9909de679d1e","responseTime":34,"status":200,"url":"/devices/cad52876-a0b0-4169-91ab-278b6e151375?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87808db0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} device-1 | {"level":"info","message":"GET /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45? 200 33ms","method":"GET","requestID":"87808db0-7ad0-11ef-9247-9909de679d1e","responseTime":33,"status":200,"url":"/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd639f57-f41d-4f9c-a0e2-fa3dfc5e9e99","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.725542} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.982822,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8784fa80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87865a10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"8784fa80-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F94d560ef-c848-41dc-8bce-02608dba8f91#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F94d560ef-c848-41dc-8bce-02608dba8f91","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"cc56bef1-2cd9-4649-a152-7aba39fb05c2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.7290053} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91d04e81-3fa0-4c30-9bfc-cc9cb959c339","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.7292497} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"5c5dd7a3b9274266c421595d718d6c73","responseTime":26,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8784fa80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/signaling 200 14ms","method":"POST","requestID":"8784fa80-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a99841d0-460b-4447-b260-d26dae334f79","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.7349432} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.780157,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"87865a10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","object_type":"device","rebac_allow":false,"scope_allow":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":"87865a10-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5c5dd7a3b9274266c421595d718d6c73"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"87865a10-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 177ms","method":"POST","requestID":"5c5dd7a3b9274266c421595d718d6c73","responseTime":177,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/cad52876-a0b0-4169-91ab-278b6e151375/signaling 200 12ms","method":"POST","requestID":"87865a10-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/cad52876-a0b0-4169-91ab-278b6e151375/signaling"} gateway-1 | {"time_local":"24/Sep/2024:23:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"816","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c5dd7a3b9274266c421595d718d6c73"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87887cf0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M","level":"info","message":"auth send jwt","requestID":"5686a5b32f6883ac75be1eb09c34b695"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5686a5b32f6883ac75be1eb09c34b695","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5686a5b32f6883ac75be1eb09c34b695"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fee1d542-ac53-4e90-998e-fa25f101cf9a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.7487442} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.506849,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"87887cf0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"87887cf0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739562,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5686a5b32f6883ac75be1eb09c34b695","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5686a5b32f6883ac75be1eb09c34b695","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"87887cf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/signaling 200 12ms","method":"POST","requestID":"87887cf0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.902705811Z"}]},"request_id":"48f1f3e0-a866-44fe-8825-e26e41416668","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.7555285} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5686a5b32f6883ac75be1eb09c34b695","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"878ac6e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"878b1500-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644162,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5686a5b32f6883ac75be1eb09c34b695"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"878ac6e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} gateway-1 | {"time_local":"24/Sep/2024:23:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cad52876-a0b0-4169-91ab-278b6e151375? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5686a5b32f6883ac75be1eb09c34b695"} device-1 | {"level":"info","message":"GET /devices/cad52876-a0b0-4169-91ab-278b6e151375? 200 17ms","method":"GET","requestID":"5686a5b32f6883ac75be1eb09c34b695","responseTime":17,"status":200,"url":"/devices/cad52876-a0b0-4169-91ab-278b6e151375?"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"878ac6e0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59540","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693861,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"878b1500-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"878b1500-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M","level":"info","message":"auth send jwt","requestID":"a2f1554cb2b61200bffae2b3970fe801"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a2f1554cb2b61200bffae2b3970fe801","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2f1554cb2b61200bffae2b3970fe801"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.902705811Z"}]},"request_id":"c08898e3-8b0c-4f0e-a504-3d90ae786769","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.7678432} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"878ac6e0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.957291845Z"}]},"request_id":"567c4e08-8c82-47f7-bdf5-b4ccde1ff868","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.7693443} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"878b1500-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701538,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a2f1554cb2b61200bffae2b3970fe801","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"878ac6e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a2f1554cb2b61200bffae2b3970fe801","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/cad52876-a0b0-4169-91ab-278b6e151375? 200 16ms","method":"GET","requestID":"878ac6e0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/cad52876-a0b0-4169-91ab-278b6e151375?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"878b1500-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45? 200 15ms","method":"GET","requestID":"878b1500-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Building connection plan","requestID":"5c5dd7a3b9274266c421595d718d6c73"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"009c8b04-428d-46ec-801b-8946c8d31ed6"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"2e1789a6-e5db-46cd-a5c2-b3f3f3b064a8"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"db702419-3634-4b95-9714-895afa03fa1a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5c5dd7a3b9274266c421595d718d6c73"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5c5dd7a3b9274266c421595d718d6c73"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"878dd420-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:50.957291845Z"}]},"request_id":"7baa9204-d211-469a-9418-5f215fd272bb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.778553} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a2f1554cb2b61200bffae2b3970fe801","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.587105,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2f1554cb2b61200bffae2b3970fe801"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"878dd420-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222151,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1MX0.jtcM3naRz6-zL0TkG1Jw7hzLn5ep1BibPgJ_XizH9_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"878dd420-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2f1554cb2b61200bffae2b3970fe801"} device-1 | {"level":"info","message":"GET /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45? 200 16ms","method":"GET","requestID":"a2f1554cb2b61200bffae2b3970fe801","responseTime":16,"status":200,"url":"/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"11e93624-50c5-46ad-8547-a30fa9e532af","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.7932122} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aecd2f88-db18-49c1-9f68-923930df4820","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.7934625} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"878dd420-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"878dd420-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"878dd420-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870'","requestID":"878dd420-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870'","requestID":"878dd420-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"878dd420-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"878dd420-7ad0-11ef-9247-9909de679d1e","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"878dd420-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5c5dd7a3b9274266c421595d718d6c73"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8796fbe0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fcf9d144-d9e5-490b-8f78-6da37747adb8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.8431203} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.760597,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8796fbe0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8796fbe0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8796fbe0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cad52876-a0b0-4169-91ab-278b6e151375/signaling 200 9ms","method":"POST","requestID":"8796fbe0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/cad52876-a0b0-4169-91ab-278b6e151375/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8798a990-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"598d1541-3079-4569-9503-6da3f620c0a7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222151.8540897} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.773427,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8798a990-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","object_type":"device","rebac_allow":false,"scope_allow":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":"8798a990-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8798a990-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/signaling 200 10ms","method":"POST","requestID":"8798a990-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/signaling"} device-1 | {"device":"93d79ee4-823d-4fc2-a4ff-6aeb88090b45","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"5220cb9e-e52f-411d-add6-08b86441f870","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"cad52876-a0b0-4169-91ab-278b6e151375","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"5220cb9e-e52f-411d-add6-08b86441f870","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"cad52876-a0b0-4169-91ab-278b6e151375","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cad52876-a0b0-4169-91ab-278b6e151375","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cad52876-a0b0-4169-91ab-278b6e151375","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cad52876-a0b0-4169-91ab-278b6e151375","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/5220cb9e-e52f-411d-add6-08b86441f870' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5220cb9e-e52f-411d-add6-08b86441f870","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"aee2886eebffb9d2deb17e5bb13d4814","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"aee2886eebffb9d2deb17e5bb13d4814","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870"}}},"level":"info","message":"received a callback","requestID":"aee2886eebffb9d2deb17e5bb13d4814"} device-1 | {"device":"93d79ee4-823d-4fc2-a4ff-6aeb88090b45","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"93d79ee4-823d-4fc2-a4ff-6aeb88090b45","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"93d79ee4-823d-4fc2-a4ff-6aeb88090b45","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"5220cb9e-e52f-411d-add6-08b86441f870","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"aee2886eebffb9d2deb17e5bb13d4814","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"aee2886eebffb9d2deb17e5bb13d4814"} device-1 | {"device":"cad52876-a0b0-4169-91ab-278b6e151375","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"93d79ee4-823d-4fc2-a4ff-6aeb88090b45","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cad52876-a0b0-4169-91ab-278b6e151375","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"93d79ee4-823d-4fc2-a4ff-6aeb88090b45","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"5220cb9e-e52f-411d-add6-08b86441f870","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/5220cb9e-e52f-411d-add6-08b86441f870' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5220cb9e-e52f-411d-add6-08b86441f870","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9e6751e873fc212d92459401c1d5ee45","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9e6751e873fc212d92459401c1d5ee45","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870"}}},"level":"info","message":"received a callback","requestID":"9e6751e873fc212d92459401c1d5ee45"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"88d74410-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:53Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5220cb9e-e52f-411d-add6-08b86441f870","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b37cea90-5067-4a56-b1e4-27b74126a839","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222153.9447076} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.961247,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"88d74410-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"88d74410-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"88d74410-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/5220cb9e-e52f-411d-add6-08b86441f870 200 15ms","method":"GET","requestID":"88d74410-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 58ms","method":"POST","requestID":"9e6751e873fc212d92459401c1d5ee45","responseTime":58,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch","requestID":"9e6751e873fc212d92459401c1d5ee45"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88dee530-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:53Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c195371c-bd0d-428b-89d7-b45cd244012c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222153.9949982} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.007281,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"88dee530-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","object_type":"device","rebac_allow":false,"scope_allow":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":"88dee530-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"88dee530-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cad52876-a0b0-4169-91ab-278b6e151375/signaling 200 15ms","method":"POST","requestID":"88dee530-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/cad52876-a0b0-4169-91ab-278b6e151375/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88e1cb60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:54Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1NH0.7tauDKGdA_O-_tKcR6RyAN-TasPb30gAjS0_aceTBG0","level":"info","message":"auth send jwt","requestID":"0b2fb59a5cba0553b391471e2a35af19"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3bf637be-a40f-452e-8866-dc71533fb5e4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.0157485} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"0b2fb59a5cba0553b391471e2a35af19","responseTime":8,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.730898,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"88e1cb60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","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":"Handling GET request on endpoint /experiments/94d560ef-c848-41dc-8bce-02608dba8f91","requestID":"0b2fb59a5cba0553b391471e2a35af19"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"88e1cb60-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"88e1cb60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/signaling 200 19ms","method":"POST","requestID":"88e1cb60-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.472578,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0b2fb59a5cba0553b391471e2a35af19","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222154,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1NH0.7tauDKGdA_O-_tKcR6RyAN-TasPb30gAjS0_aceTBG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0b2fb59a5cba0553b391471e2a35af19","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/94d560ef-c848-41dc-8bce-02608dba8f91","requestID":"0b2fb59a5cba0553b391471e2a35af19"} gateway-1 | {"time_local":"24/Sep/2024:23:55:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/94d560ef-c848-41dc-8bce-02608dba8f91 HTTP/1.1","status": "200","body_bytes_sent":"889","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b2fb59a5cba0553b391471e2a35af19"} experiment-1 | {"level":"info","message":"GET /experiments/94d560ef-c848-41dc-8bce-02608dba8f91 200 21ms","method":"GET","requestID":"0b2fb59a5cba0553b391471e2a35af19","responseTime":21,"status":200,"url":"/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1NH0.7tauDKGdA_O-_tKcR6RyAN-TasPb30gAjS0_aceTBG0","level":"info","message":"auth send jwt","requestID":"150f74da4ed4f357cf0706ecbc26340a"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"150f74da4ed4f357cf0706ecbc26340a","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/94d560ef-c848-41dc-8bce-02608dba8f91","requestID":"150f74da4ed4f357cf0706ecbc26340a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.204822,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"150f74da4ed4f357cf0706ecbc26340a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222154,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1NH0.7tauDKGdA_O-_tKcR6RyAN-TasPb30gAjS0_aceTBG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"150f74da4ed4f357cf0706ecbc26340a","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Attempting to finish experiment","requestID":"150f74da4ed4f357cf0706ecbc26340a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"88eb6850-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.249942,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"88eb6850-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222154,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1NH0.7tauDKGdA_O-_tKcR6RyAN-TasPb30gAjS0_aceTBG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"88eb6850-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"cad52876-a0b0-4169-91ab-278b6e151375","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cad52876-a0b0-4169-91ab-278b6e151375","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cad52876-a0b0-4169-91ab-278b6e151375","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"93d79ee4-823d-4fc2-a4ff-6aeb88090b45","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"93d79ee4-823d-4fc2-a4ff-6aeb88090b45","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"93d79ee4-823d-4fc2-a4ff-6aeb88090b45","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/5220cb9e-e52f-411d-add6-08b86441f870' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5220cb9e-e52f-411d-add6-08b86441f870","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5220cb9e-e52f-411d-add6-08b86441f870': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5220cb9e-e52f-411d-add6-08b86441f870","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"0f991468-f0e7-4c89-85a0-e668b2c70bd4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.0974839} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5b50295e66d5fe981c027c42b00e7a2f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53fdc451-cf42-40ad-8d3c-390372f6792c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.098201} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5b50295e66d5fe981c027c42b00e7a2f","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"88eb6850-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5d15383b485aac67d8a3dbb592943fe8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5d15383b485aac67d8a3dbb592943fe8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870"}}},"level":"info","message":"received a callback","requestID":"5b50295e66d5fe981c027c42b00e7a2f"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870"}}},"level":"info","message":"received a callback","requestID":"5d15383b485aac67d8a3dbb592943fe8"} device-1 | {"data":{"peerconnection":"5220cb9e-e52f-411d-add6-08b86441f870","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"88eb6850-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/5220cb9e-e52f-411d-add6-08b86441f870 204 53ms","method":"DELETE","requestID":"88eb6850-7ad0-11ef-9247-9909de679d1e","responseTime":53,"status":204,"url":"/peerconnections/5220cb9e-e52f-411d-add6-08b86441f870"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"},"level":"info","message":"Successfully finished experiment","requestID":"150f74da4ed4f357cf0706ecbc26340a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88f79d50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcad52876-a0b0-4169-91ab-278b6e151375","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6c6a54b-6a22-4883-9284-59f419fd12fc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.157176} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.078129,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"88f79d50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375","object_type":"device","rebac_allow":false,"scope_allow":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":"88f79d50-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F94d560ef-c848-41dc-8bce-02608dba8f91': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F94d560ef-c848-41dc-8bce-02608dba8f91","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"f68c2e2f-1e0b-4dcd-a866-04eae1b9295b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.1636379} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"88f79d50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cad52876-a0b0-4169-91ab-278b6e151375/signaling 200 15ms","method":"POST","requestID":"88f79d50-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/cad52876-a0b0-4169-91ab-278b6e151375/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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b340224-2c3b-4aa1-b114-3cc090d65d7e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.1640773} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"150f74da4ed4f357cf0706ecbc26340a","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88faaa90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93d79ee4-823d-4fc2-a4ff-6aeb88090b45","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6801cb69-6281-418b-b922-ab316cbf59dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.1772869} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.815232,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"88faaa90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45","object_type":"device","rebac_allow":false,"scope_allow":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":"88faaa90-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"88faaa90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/signaling 200 15ms","method":"POST","requestID":"88faaa90-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/94d560ef-c848-41dc-8bce-02608dba8f91","requestID":"150f74da4ed4f357cf0706ecbc26340a"} gateway-1 | {"time_local":"24/Sep/2024:23:55:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/94d560ef-c848-41dc-8bce-02608dba8f91 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.197","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"150f74da4ed4f357cf0706ecbc26340a"} gateway-1 | {"time_local":"24/Sep/2024:23:55:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2891","request_time":"2.750","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"1b2977eae23ccacf89fea97fdd03e699"} gateway-1 | {"time_local":"24/Sep/2024:23:55:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2891","request_time":"2.760","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"c1a6b982a11cff55c8e38b73fbc58e11"} experiment-1 | {"level":"info","message":"DELETE /experiments/94d560ef-c848-41dc-8bce-02608dba8f91 204 193ms","method":"DELETE","requestID":"150f74da4ed4f357cf0706ecbc26340a","responseTime":193,"status":204,"url":"/experiments/94d560ef-c848-41dc-8bce-02608dba8f91"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"5b50295e66d5fe981c027c42b00e7a2f","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b50295e66d5fe981c027c42b00e7a2f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"5d15383b485aac67d8a3dbb592943fe8","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"5d15383b485aac67d8a3dbb592943fe8"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cad52876-a0b0-4169-91ab-278b6e151375' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1NH0.7tauDKGdA_O-_tKcR6RyAN-TasPb30gAjS0_aceTBG0","level":"info","message":"auth send jwt","requestID":"c8e04e48231ab9d9f4a6304823f40978"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c8e04e48231ab9d9f4a6304823f40978","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c8e04e48231ab9d9f4a6304823f40978"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.179104,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c8e04e48231ab9d9f4a6304823f40978","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222154,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1NH0.7tauDKGdA_O-_tKcR6RyAN-TasPb30gAjS0_aceTBG0"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/93d79ee4-823d-4fc2-a4ff-6aeb88090b45' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c8e04e48231ab9d9f4a6304823f40978","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cf9d063b-47d3-471e-b131-1f81b60b27c6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.273389} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c8e04e48231ab9d9f4a6304823f40978","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c84d52b5-1d27-4acb-a3c8-7fa4205ea4e8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.2805748} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c8e04e48231ab9d9f4a6304823f40978","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"02ccf711-6397-408c-b410-803c11a4bd9d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.2912242} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac78c00a-494f-4449-bdeb-333b1f5bb313","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.291473} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"c8e04e48231ab9d9f4a6304823f40978","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.291209389Z"}]},"request_id":"d7f6813e-a77a-4367-b2ee-1102e0539851","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.2971454} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c8e04e48231ab9d9f4a6304823f40978","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c8e04e48231ab9d9f4a6304823f40978"} gateway-1 | {"time_local":"24/Sep/2024:23:55:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8e04e48231ab9d9f4a6304823f40978"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"c8e04e48231ab9d9f4a6304823f40978","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1NH0.7tauDKGdA_O-_tKcR6RyAN-TasPb30gAjS0_aceTBG0","level":"info","message":"auth send jwt","requestID":"ed446511feb13f8f1e2347afe8741b85"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ed446511feb13f8f1e2347afe8741b85","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ed446511feb13f8f1e2347afe8741b85"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.97441,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ed446511feb13f8f1e2347afe8741b85","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222154,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1NH0.7tauDKGdA_O-_tKcR6RyAN-TasPb30gAjS0_aceTBG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed446511feb13f8f1e2347afe8741b85","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"823ec4b7-49d4-48e9-a9bb-d651d2c7db5d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.324826} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ed446511feb13f8f1e2347afe8741b85","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1142f32b-b908-4235-8233-101a45d7bdc3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.3308136} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"ed446511feb13f8f1e2347afe8741b85","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"07b91a79-cad3-4b7e-8cec-a6be8a87d15d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.3473313} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e1b3d2f-ae06-4c03-a598-794f66e687ea","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.3475664} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"ed446511feb13f8f1e2347afe8741b85","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.347317828Z"}]},"request_id":"e946b353-4db9-495c-be8c-98aa8ee6b22d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222154.3525698} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ed446511feb13f8f1e2347afe8741b85","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ed446511feb13f8f1e2347afe8741b85"} gateway-1 | {"time_local":"24/Sep/2024:23:55:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed446511feb13f8f1e2347afe8741b85"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"ed446511feb13f8f1e2347afe8741b85","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ac1750109038f4bd5d24c1eb5cfd7af3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ac1750109038f4bd5d24c1eb5cfd7af3","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/027844c1-a8ef-41c5-832d-248eb656cf36/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":"ac1750109038f4bd5d24c1eb5cfd7af3"} device-1 | {"level":"info","message":"OPTIONS /devices/027844c1-a8ef-41c5-832d-248eb656cf36/websocket 200 2ms","method":"OPTIONS","requestID":"ac1750109038f4bd5d24c1eb5cfd7af3","responseTime":2,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo","level":"info","message":"auth send jwt","requestID":"d470f8e43796c6b6088c86cb6ea2ecaa"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d470f8e43796c6b6088c86cb6ea2ecaa","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d470f8e43796c6b6088c86cb6ea2ecaa"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.379888,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d470f8e43796c6b6088c86cb6ea2ecaa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d470f8e43796c6b6088c86cb6ea2ecaa","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9905f5cf2eabb52572cf5d7ed94ab31c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9905f5cf2eabb52572cf5d7ed94ab31c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/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":"9905f5cf2eabb52572cf5d7ed94ab31c"} device-1 | {"level":"info","message":"OPTIONS /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/websocket 200 1ms","method":"OPTIONS","requestID":"9905f5cf2eabb52572cf5d7ed94ab31c","responseTime":1,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d470f8e43796c6b6088c86cb6ea2ecaa"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/027844c1-a8ef-41c5-832d-248eb656cf36/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d470f8e43796c6b6088c86cb6ea2ecaa"} device-1 | {"level":"info","message":"POST /devices/027844c1-a8ef-41c5-832d-248eb656cf36/websocket 200 26ms","method":"POST","requestID":"d470f8e43796c6b6088c86cb6ea2ecaa","responseTime":26,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo","level":"info","message":"auth send jwt","requestID":"c87ab4c833ff9d35bc3e7986c0ed0f57"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c87ab4c833ff9d35bc3e7986c0ed0f57","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c87ab4c833ff9d35bc3e7986c0ed0f57"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.750652,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c87ab4c833ff9d35bc3e7986c0ed0f57","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c87ab4c833ff9d35bc3e7986c0ed0f57","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c87ab4c833ff9d35bc3e7986c0ed0f57"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.039","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c87ab4c833ff9d35bc3e7986c0ed0f57"} device-1 | {"level":"info","message":"POST /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/websocket 200 32ms","method":"POST","requestID":"c87ab4c833ff9d35bc3e7986c0ed0f57","responseTime":32,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e7a794431e70279f2c4a35d2a272d94c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e7a794431e70279f2c4a35d2a272d94c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/027844c1-a8ef-41c5-832d-248eb656cf36? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"e7a794431e70279f2c4a35d2a272d94c"} device-1 | {"level":"info","message":"OPTIONS /devices/027844c1-a8ef-41c5-832d-248eb656cf36? 200 1ms","method":"OPTIONS","requestID":"e7a794431e70279f2c4a35d2a272d94c","responseTime":1,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo","level":"info","message":"auth send jwt","requestID":"39bb887e7dc739b9bd9b81700fa7aeea"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"39bb887e7dc739b9bd9b81700fa7aeea","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"39bb887e7dc739b9bd9b81700fa7aeea"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938' connected"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.492355,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"39bb887e7dc739b9bd9b81700fa7aeea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"39bb887e7dc739b9bd9b81700fa7aeea","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.291209389Z"}]},"request_id":"9fda3f50-c817-4479-b015-457998208720","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.436733} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"39bb887e7dc739b9bd9b81700fa7aeea","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"895ccbee-090c-4864-b2ab-e6a84082223e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.4453158} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"39bb887e7dc739b9bd9b81700fa7aeea","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7f5dc6c2e6f4c21ae5146d57258af321","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"7f5dc6c2e6f4c21ae5146d57258af321","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"7f5dc6c2e6f4c21ae5146d57258af321"} device-1 | {"level":"info","message":"OPTIONS /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938? 200 1ms","method":"OPTIONS","requestID":"7f5dc6c2e6f4c21ae5146d57258af321","responseTime":1,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo","level":"info","message":"auth send jwt","requestID":"c42a5618b116a7b168906e65e33efeee"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c42a5618b116a7b168906e65e33efeee","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c42a5618b116a7b168906e65e33efeee"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.291209389Z"}]},"request_id":"3057e3bf-bb9c-4db0-a66e-b0a94d9adbe4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.463147} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"39bb887e7dc739b9bd9b81700fa7aeea","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.276347,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"39bb887e7dc739b9bd9b81700fa7aeea"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c42a5618b116a7b168906e65e33efeee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c42a5618b116a7b168906e65e33efeee","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/027844c1-a8ef-41c5-832d-248eb656cf36? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.054","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"39bb887e7dc739b9bd9b81700fa7aeea"} device-1 | {"level":"info","message":"PATCH /devices/027844c1-a8ef-41c5-832d-248eb656cf36? 200 48ms","method":"PATCH","requestID":"39bb887e7dc739b9bd9b81700fa7aeea","responseTime":48,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.347317828Z"}]},"request_id":"6f09866e-6345-4b45-aed0-32b513570a66","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.475102} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c42a5618b116a7b168906e65e33efeee","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ab131b7-4114-437c-9e6c-c225beb0c3cf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.4813921} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c42a5618b116a7b168906e65e33efeee","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.347317828Z"}]},"request_id":"500db208-36e7-49dd-a52c-eee651a41135","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.4944174} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c42a5618b116a7b168906e65e33efeee","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c42a5618b116a7b168906e65e33efeee"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938? HTTP/1.1","status": "200","body_bytes_sent":"1007","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":"c42a5618b116a7b168906e65e33efeee"} device-1 | {"level":"info","message":"PATCH /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938? 200 36ms","method":"PATCH","requestID":"c42a5618b116a7b168906e65e33efeee","responseTime":36,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo","level":"info","message":"auth send jwt","requestID":"04ed4de2d149f589a4c8e35a6c2f9654"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"04ed4de2d149f589a4c8e35a6c2f9654","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"04ed4de2d149f589a4c8e35a6c2f9654"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.269444,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"04ed4de2d149f589a4c8e35a6c2f9654","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"04ed4de2d149f589a4c8e35a6c2f9654","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.291209389Z"}]},"request_id":"5d2ee64d-4273-4169-b26f-247250ac1b68","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.522847} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"04ed4de2d149f589a4c8e35a6c2f9654","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"04ed4de2d149f589a4c8e35a6c2f9654"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/027844c1-a8ef-41c5-832d-248eb656cf36? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04ed4de2d149f589a4c8e35a6c2f9654"} device-1 | {"level":"info","message":"GET /devices/027844c1-a8ef-41c5-832d-248eb656cf36? 200 17ms","method":"GET","requestID":"04ed4de2d149f589a4c8e35a6c2f9654","responseTime":17,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo","level":"info","message":"auth send jwt","requestID":"b15757cf1836d4cd54cc62ca15961bb5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b15757cf1836d4cd54cc62ca15961bb5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b15757cf1836d4cd54cc62ca15961bb5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.143423,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b15757cf1836d4cd54cc62ca15961bb5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b15757cf1836d4cd54cc62ca15961bb5","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.347317828Z"}]},"request_id":"6ed800f2-418e-4ecd-8c62-00f43df3850c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.548434} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b15757cf1836d4cd54cc62ca15961bb5","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b15757cf1836d4cd54cc62ca15961bb5"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b15757cf1836d4cd54cc62ca15961bb5"} device-1 | {"level":"info","message":"GET /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938? 200 20ms","method":"GET","requestID":"b15757cf1836d4cd54cc62ca15961bb5","responseTime":20,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo","level":"info","message":"auth send jwt","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.321689,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"27d0fd1e7b1fd7e4895cd95e404832ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Attempting to run experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Attempting to book experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Successfully booked experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8a6fbe60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8a703390-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.453916,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a6fbe60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8a6fbe60-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.812871,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a703390-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"8a703390-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.291209389Z"}]},"request_id":"bba875b7-960e-4af4-9133-d1416720755f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.6282} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"8a6fbe60-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.347317828Z"}]},"request_id":"6f5b367f-eee4-4b82-82db-928dc4d55f68","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.6343222} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8a703390-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8a6fbe60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/027844c1-a8ef-41c5-832d-248eb656cf36? 200 23ms","method":"GET","requestID":"8a6fbe60-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8a703390-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938? 200 23ms","method":"GET","requestID":"8a703390-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Setting up experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Successfully locked booking for experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Attempting to update booking for experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Successfully updated booking for experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Successfully set up experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8a7c4180-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8a7cb6b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a7d2be0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Successfully running experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.443548,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a7c4180-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"8a7c4180-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.388289,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a7cb6b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"8a7cb6b0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.347317828Z"}]},"request_id":"9711935c-6abe-4e6a-be39-38309e72090b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.717529} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8a7cb6b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:58662","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.291209389Z"}]},"request_id":"f7f78151-6b10-4903-868d-b197b2a65f23","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.7202039} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8a7c4180-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"517196c8-025e-4c1f-b872-5f2e9d64a64f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.7218065} authorization-1 | {"client_addr":"127.0.0.1:58662","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.694967,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a7d2be0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","method":"POST","requestID":"8a7d2be0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8a7cb6b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938? 200 28ms","method":"GET","requestID":"8a7cb6b0-7ad0-11ef-9247-9909de679d1e","responseTime":28,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8a7c4180-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/027844c1-a8ef-41c5-832d-248eb656cf36? 200 32ms","method":"GET","requestID":"8a7c4180-7ad0-11ef-9247-9909de679d1e","responseTime":32,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a7d2be0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/027844c1-a8ef-41c5-832d-248eb656cf36/signaling 200 27ms","method":"POST","requestID":"8a7d2be0-7ad0-11ef-9247-9909de679d1e","responseTime":27,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a8198b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbee10f25-8bd3-4edd-8713-4e89c9d3207f#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbee10f25-8bd3-4edd-8713-4e89c9d3207f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"9226a572-2597-4fbd-8787-76a316784db1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.7316337} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a81e6d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e8fcdda-014e-4114-a379-9ca3ae1eb096","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.732477} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d18453d-514d-4790-9de3-6b201112a2ae","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.742641} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.80212,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a8198b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"8a8198b0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.797029,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22faa6cc-b620-459c-a52f-ec3a1b73b9f2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.747426} experiment-1 | {"data":{"experiment":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a81e6d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"808","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"8a81e6d0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /experiments? 201 185ms","method":"POST","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec","responseTime":185,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo","level":"info","message":"auth send jwt","requestID":"b12f025472c90eeeb7160fa6feceb47c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a8198b0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b12f025472c90eeeb7160fa6feceb47c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/027844c1-a8ef-41c5-832d-248eb656cf36/signaling 200 29ms","method":"POST","requestID":"8a8198b0-7ad0-11ef-9247-9909de679d1e","responseTime":29,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a81e6d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/signaling 200 28ms","method":"POST","requestID":"8a81e6d0-7ad0-11ef-9247-9909de679d1e","responseTime":28,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a86a1c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b12f025472c90eeeb7160fa6feceb47c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.736398,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b12f025472c90eeeb7160fa6feceb47c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b12f025472c90eeeb7160fa6feceb47c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b90ad359-26d1-4681-9bbd-f7e56d11efc9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.769155} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.564425,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a86a1c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","object_type":"device","rebac_allow":false,"scope_allow":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":"8a86a1c0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a86a1c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/signaling 200 9ms","method":"POST","requestID":"8a86a1c0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.291209389Z"}]},"request_id":"2841f7cf-f42a-482a-9fd6-0e5752e1e408","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.7737064} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b12f025472c90eeeb7160fa6feceb47c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8a887680-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8a889d90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b12f025472c90eeeb7160fa6feceb47c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.002868,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/027844c1-a8ef-41c5-832d-248eb656cf36? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b12f025472c90eeeb7160fa6feceb47c"} device-1 | {"level":"info","message":"GET /devices/027844c1-a8ef-41c5-832d-248eb656cf36? 200 15ms","method":"GET","requestID":"b12f025472c90eeeb7160fa6feceb47c","responseTime":15,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a887680-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8a887680-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.810951,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a889d90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8a889d90-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo","level":"info","message":"auth send jwt","requestID":"1f240ebc7fddfc0bd045f33bc93ea12c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1f240ebc7fddfc0bd045f33bc93ea12c","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.291209389Z"}]},"request_id":"d4dfd649-f0e5-483d-bcfc-214c0e9d93be","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.7848558} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1f240ebc7fddfc0bd045f33bc93ea12c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8a887680-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.347317828Z"}]},"request_id":"9a7497b0-b066-4484-8f1c-18b9b0ea8547","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.7862687} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8a889d90-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761781,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1f240ebc7fddfc0bd045f33bc93ea12c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1f240ebc7fddfc0bd045f33bc93ea12c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8a887680-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/027844c1-a8ef-41c5-832d-248eb656cf36? 200 16ms","method":"GET","requestID":"8a887680-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8a889d90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938? 200 16ms","method":"GET","requestID":"8a889d90-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:54.347317828Z"}]},"request_id":"e12c20b3-cb31-40c6-89a8-0be9c90050d3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.7934206} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1f240ebc7fddfc0bd045f33bc93ea12c","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Building connection plan","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"64414fcb-44eb-4813-a37a-7e949e557a2e"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"56598515-0223-4533-9645-1825a4bb2a27"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"6b6c39f9-21b4-4a43-a08e-67025ae92fae"}]},"level":"info","message":"Built pairwise service configurations","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1f240ebc7fddfc0bd045f33bc93ea12c"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f240ebc7fddfc0bd045f33bc93ea12c"} device-1 | {"level":"info","message":"GET /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938? 200 11ms","method":"GET","requestID":"1f240ebc7fddfc0bd045f33bc93ea12c","responseTime":11,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938?"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"8a8da6a0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"8a8da6a0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 12ms","method":"POST","requestID":"8a8da6a0-7ad0-11ef-a772-4d02dbd671ac","responseTime":12,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/1db8a67a-455e-413a-8eab-272ee892cb22?id=b06106d7-082b-49b0-8db3-6cadb36b216a","ws://localhost/rooms/1db8a67a-455e-413a-8eab-272ee892cb22?id=31ac736f-c643-4789-9a30-e0c0e9572f9d"]},"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8a9017a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.738608,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a9017a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8a9017a0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"5e9fab18-4f06-4879-9e62-25968e928b17","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.8385162} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1c33814-a184-49e8-9c07-6aba1c473bac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.8389335} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"8a9017a0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8a9017a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8a9017a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756'","requestID":"8a9017a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756'","requestID":"8a9017a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8a9017a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"8a9017a0-7ad0-11ef-9247-9909de679d1e","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"8a9017a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"65049b3c37586fbfdc37631414bd054b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"65049b3c37586fbfdc37631414bd054b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756"}}},"level":"info","message":"received a callback","requestID":"65049b3c37586fbfdc37631414bd054b"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"8a9791b0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"31ac736f-c643-4789-9a30-e0c0e9572f9d\" in room \"http://localhost/rooms/1db8a67a-455e-413a-8eab-272ee892cb22\"","requestID":"8a9791b0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"8a9791b0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"8a9806e0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"b06106d7-082b-49b0-8db3-6cadb36b216a\" in room \"http://localhost/rooms/1db8a67a-455e-413a-8eab-272ee892cb22\"","requestID":"8a9806e0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"8a9806e0-7ad0-11ef-a772-4d02dbd671ac"} device-1 | {"data":{"peerconnection":"1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"65049b3c37586fbfdc37631414bd054b","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"65049b3c37586fbfdc37631414bd054b"} device-1 | {"data":{"peerconnection":"1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"27d0fd1e7b1fd7e4895cd95e404832ec"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a9b6240-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"52b642514ee56be7bdc784637c122d15","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"52b642514ee56be7bdc784637c122d15","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42c2eea8-c18d-4599-949b-07db607cba67","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.907188} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756"}}},"level":"info","message":"received a callback","requestID":"52b642514ee56be7bdc784637c122d15"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.564428,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a9b6240-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","object_type":"device","rebac_allow":false,"scope_allow":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":"8a9b6240-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8a9d5e10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a9b6240-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/027844c1-a8ef-41c5-832d-248eb656cf36/signaling 200 16ms","method":"POST","requestID":"8a9b6240-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a9e4870-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ade20070-f313-4ab5-b795-2b29547745c0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.9196947} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.260324,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a9d5e10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","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":"8a9d5e10-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8a9d5e10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} device-1 | {"level":"info","message":"GET /peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756 200 10ms","method":"GET","requestID":"8a9d5e10-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0522ecb0-67b7-4cbe-ae4d-8a41358974b0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.9247725} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.471223,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a9e4870-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","object_type":"device","rebac_allow":false,"scope_allow":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":"8a9e4870-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a9e4870-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/signaling 200 11ms","method":"POST","requestID":"8a9e4870-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/signaling"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"52b642514ee56be7bdc784637c122d15","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"52b642514ee56be7bdc784637c122d15"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8aa1cae0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"116c818a-dc5c-4b16-8834-d299be54f1f5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.9471495} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.030524,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8aa1cae0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","object_type":"device","rebac_allow":false,"scope_allow":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":"8aa1cae0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8aa1cae0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/027844c1-a8ef-41c5-832d-248eb656cf36/signaling 200 9ms","method":"POST","requestID":"8aa1cae0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8aa39fa0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56a3fd7f-4f18-4241-b400-99b372b9beee","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222156.9590166} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.201914,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8aa39fa0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","object_type":"device","rebac_allow":false,"scope_allow":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":"8aa39fa0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8aa39fa0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/signaling 200 10ms","method":"POST","requestID":"8aa39fa0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo","level":"info","message":"auth send jwt","requestID":"e15850dad0c61252f530548f21033ef2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e15850dad0c61252f530548f21033ef2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f","requestID":"e15850dad0c61252f530548f21033ef2"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.730354,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e15850dad0c61252f530548f21033ef2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222156,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1Nn0.Ca__A1S3jZIkE7R4kYdL5Z7hEEpvQY7Nk8yggnZcBFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e15850dad0c61252f530548f21033ef2","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f","requestID":"e15850dad0c61252f530548f21033ef2"} gateway-1 | {"time_local":"24/Sep/2024:23:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f HTTP/1.1","status": "200","body_bytes_sent":"881","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e15850dad0c61252f530548f21033ef2"} experiment-1 | {"level":"info","message":"GET /experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f 200 16ms","method":"GET","requestID":"e15850dad0c61252f530548f21033ef2","responseTime":16,"status":200,"url":"/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1N30.NmbVNSCmz1m1g0d4Sc8sZebcksBOk2euwCrXJo4hc_M","level":"info","message":"auth send jwt","requestID":"8ec92e80182a94e77e9ba184ccd8c337"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8ec92e80182a94e77e9ba184ccd8c337","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f","requestID":"8ec92e80182a94e77e9ba184ccd8c337"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.10907,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ec92e80182a94e77e9ba184ccd8c337","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222157,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1N30.NmbVNSCmz1m1g0d4Sc8sZebcksBOk2euwCrXJo4hc_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8ec92e80182a94e77e9ba184ccd8c337","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Attempting to finish experiment","requestID":"8ec92e80182a94e77e9ba184ccd8c337"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8aae4e00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.281174,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8aae4e00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222157,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1N30.NmbVNSCmz1m1g0d4Sc8sZebcksBOk2euwCrXJo4hc_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8aae4e00-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","device":"f543c063-b1ee-4410-acd7-80e9bd4c0938","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","device":"027844c1-a8ef-41c5-832d-248eb656cf36","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/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"24/Sep/2024:23:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/1db8a67a-455e-413a-8eab-272ee892cb22?id=31ac736f-c643-4789-9a30-e0c0e9572f9d HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.178","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"db0d7c3723ac0ff98c6116ca25a3d0af"} gateway-1 | {"time_local":"24/Sep/2024:23:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/1db8a67a-455e-413a-8eab-272ee892cb22?id=b06106d7-082b-49b0-8db3-6cadb36b216a HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.180","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d41ef3e9287d8dfd4ed4a0901af0d4b9"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"86c86b86f9e78627b7b76121466c88a8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"31ac736f-c643-4789-9a30-e0c0e9572f9d\" in room \"http://localhost/rooms/1db8a67a-455e-413a-8eab-272ee892cb22\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"31ac736f-c643-4789-9a30-e0c0e9572f9d\" from room \"http://localhost/rooms/1db8a67a-455e-413a-8eab-272ee892cb22\""} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"86c86b86f9e78627b7b76121466c88a8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756"}}},"level":"info","message":"received a callback","requestID":"86c86b86f9e78627b7b76121466c88a8"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fdc22c80576337f9bb7a1dabd97d1e00","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1ebb7a9f-b9e2-40fa-849e-070fb1ee2756': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"003930f1-7d49-43a9-ace4-340e8b64aaba","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.0537653} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fdc22c80576337f9bb7a1dabd97d1e00","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16a7ed8f-bed0-4f73-a85f-b1a355e0411c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.0537941} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"b06106d7-082b-49b0-8db3-6cadb36b216a\" in room \"http://localhost/rooms/1db8a67a-455e-413a-8eab-272ee892cb22\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"b06106d7-082b-49b0-8db3-6cadb36b216a\" from room \"http://localhost/rooms/1db8a67a-455e-413a-8eab-272ee892cb22\""} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756"}}},"level":"info","message":"received a callback","requestID":"fdc22c80576337f9bb7a1dabd97d1e00"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"8aae4e00-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"1ebb7a9f-b9e2-40fa-849e-070fb1ee2756","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8aae4e00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756 204 54ms","method":"DELETE","requestID":"8aae4e00-7ad0-11ef-9247-9909de679d1e","responseTime":54,"status":204,"url":"/peerconnections/1ebb7a9f-b9e2-40fa-849e-070fb1ee2756"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938'"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"},"level":"info","message":"Successfully finished experiment","requestID":"8ec92e80182a94e77e9ba184ccd8c337"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8abaaa10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F027844c1-a8ef-41c5-832d-248eb656cf36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a00706e-457e-4b78-a377-928ad6d66dce","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.1127553} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.930372,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8abaaa10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36","object_type":"device","rebac_allow":false,"scope_allow":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":"8abaaa10-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8abaaa10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/027844c1-a8ef-41c5-832d-248eb656cf36/signaling 200 15ms","method":"POST","requestID":"8abaaa10-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/027844c1-a8ef-41c5-832d-248eb656cf36/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbee10f25-8bd3-4edd-8713-4e89c9d3207f': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbee10f25-8bd3-4edd-8713-4e89c9d3207f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"60c1615e-4375-4f35-b021-5f0ff3c94c00","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.1230044} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8abd9040-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7850a539-dd6a-4540-b756-41bfdcf15f10","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.1237886} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"8ec92e80182a94e77e9ba184ccd8c337","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff543c063-b1ee-4410-acd7-80e9bd4c0938","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f5e1501-3af9-455b-8f17-48deae0caaf2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.132317} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.069281,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8abd9040-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938","object_type":"device","rebac_allow":false,"scope_allow":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":"8abd9040-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8abd9040-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/signaling 200 15ms","method":"POST","requestID":"8abd9040-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/f543c063-b1ee-4410-acd7-80e9bd4c0938/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f","requestID":"8ec92e80182a94e77e9ba184ccd8c337"} gateway-1 | {"time_local":"24/Sep/2024:23:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f 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":"8ec92e80182a94e77e9ba184ccd8c337"} experiment-1 | {"level":"info","message":"DELETE /experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f 204 227ms","method":"DELETE","requestID":"8ec92e80182a94e77e9ba184ccd8c337","responseTime":227,"status":204,"url":"/experiments/bee10f25-8bd3-4edd-8713-4e89c9d3207f"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"86c86b86f9e78627b7b76121466c88a8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1N30.NmbVNSCmz1m1g0d4Sc8sZebcksBOk2euwCrXJo4hc_M","level":"info","message":"auth send jwt","requestID":"e786ee241f0528fbf66fe81d0c564c69"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"fdc22c80576337f9bb7a1dabd97d1e00"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 187ms","method":"POST","requestID":"86c86b86f9e78627b7b76121466c88a8","responseTime":187,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e786ee241f0528fbf66fe81d0c564c69","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 186ms","method":"POST","requestID":"fdc22c80576337f9bb7a1dabd97d1e00","responseTime":186,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"e786ee241f0528fbf66fe81d0c564c69"} gateway-1 | {"time_local":"24/Sep/2024:23:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1543","request_time":"0.880","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"de8cbb36f6bd206393b7a3f1e323a1f1"} gateway-1 | {"time_local":"24/Sep/2024:23:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1542","request_time":"0.847","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1b629b7c7884eac9e37b6d9d5520c692"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.070413,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e786ee241f0528fbf66fe81d0c564c69","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222157,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1N30.NmbVNSCmz1m1g0d4Sc8sZebcksBOk2euwCrXJo4hc_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e786ee241f0528fbf66fe81d0c564c69","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/f543c063-b1ee-4410-acd7-80e9bd4c0938' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/027844c1-a8ef-41c5-832d-248eb656cf36' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fc22afc4-6f87-496a-80f3-09536095cdf4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.2719562} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e786ee241f0528fbf66fe81d0c564c69","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bcf21911-692a-4d3c-85ee-2d1e0506b0f7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.2767444} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e786ee241f0528fbf66fe81d0c564c69","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"e859c589-fb51-468b-a673-932f67cf3d54","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.2889488} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ff361bb-2356-4220-87df-89e0a6da7dc4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.2890816} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"e786ee241f0528fbf66fe81d0c564c69","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.288916281Z"}]},"request_id":"307f419e-607b-4764-9c3b-e896a5153241","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.293245} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e786ee241f0528fbf66fe81d0c564c69","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e786ee241f0528fbf66fe81d0c564c69"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"e786ee241f0528fbf66fe81d0c564c69","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e786ee241f0528fbf66fe81d0c564c69"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1N30.NmbVNSCmz1m1g0d4Sc8sZebcksBOk2euwCrXJo4hc_M","level":"info","message":"auth send jwt","requestID":"304a0797472959f3fe25a84984751ceb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"304a0797472959f3fe25a84984751ceb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"304a0797472959f3fe25a84984751ceb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.749752,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"304a0797472959f3fe25a84984751ceb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222157,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1N30.NmbVNSCmz1m1g0d4Sc8sZebcksBOk2euwCrXJo4hc_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"304a0797472959f3fe25a84984751ceb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"904d0b43-95c6-4b6a-b970-dbf5013b8701","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.3199532} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"304a0797472959f3fe25a84984751ceb","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc2182e4-0f2a-4633-b8b1-f92eb203450d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.3253057} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"304a0797472959f3fe25a84984751ceb","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"23e57d0c-cb87-41cb-a158-12597eb19dfc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.3360193} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b366e62-204b-4e13-a66f-fee856bb0f6d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.3362143} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"304a0797472959f3fe25a84984751ceb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.336004024Z"}]},"request_id":"391162a4-a11d-446d-a04c-ac2fdda7e108","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.3418841} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"304a0797472959f3fe25a84984751ceb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"304a0797472959f3fe25a84984751ceb"} gateway-1 | {"time_local":"24/Sep/2024:23:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"304a0797472959f3fe25a84984751ceb"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"304a0797472959f3fe25a84984751ceb","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1N30.NmbVNSCmz1m1g0d4Sc8sZebcksBOk2euwCrXJo4hc_M","level":"info","message":"auth send jwt","requestID":"09e6cdf5ef6e36776187f5c9190f7c93"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"09e6cdf5ef6e36776187f5c9190f7c93","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"09e6cdf5ef6e36776187f5c9190f7c93"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.136654,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"09e6cdf5ef6e36776187f5c9190f7c93","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222157,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1N30.NmbVNSCmz1m1g0d4Sc8sZebcksBOk2euwCrXJo4hc_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"09e6cdf5ef6e36776187f5c9190f7c93","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.336004024Z"}]},"request_id":"9ba432e2-8b99-4b87-9e28-88bff3b4faf0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.8503866} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"09e6cdf5ef6e36776187f5c9190f7c93","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"004098a0-1f08-4092-b88a-2ba0cf6b4b9c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.8570917} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"09e6cdf5ef6e36776187f5c9190f7c93","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.336004024Z"}]},"request_id":"2783bbda-fafa-403d-a62c-3cddb79501ed","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222157.8704326} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"09e6cdf5ef6e36776187f5c9190f7c93","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"09e6cdf5ef6e36776187f5c9190f7c93"} device-1 | {"level":"info","message":"PATCH /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0 200 36ms","method":"PATCH","requestID":"09e6cdf5ef6e36776187f5c9190f7c93","responseTime":36,"status":200,"url":"/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0"} gateway-1 | {"time_local":"24/Sep/2024:23:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"09e6cdf5ef6e36776187f5c9190f7c93"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1N30.NmbVNSCmz1m1g0d4Sc8sZebcksBOk2euwCrXJo4hc_M","level":"info","message":"auth send jwt","requestID":"48900ae10dcaf8635f1b36ffaf3e4ef0"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"48900ae10dcaf8635f1b36ffaf3e4ef0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"48900ae10dcaf8635f1b36ffaf3e4ef0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.112403,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"48900ae10dcaf8635f1b36ffaf3e4ef0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222157,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1N30.NmbVNSCmz1m1g0d4Sc8sZebcksBOk2euwCrXJo4hc_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"48900ae10dcaf8635f1b36ffaf3e4ef0","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"48900ae10dcaf8635f1b36ffaf3e4ef0"} device-1 | {"level":"info","message":"POST /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/websocket 200 22ms","method":"POST","requestID":"48900ae10dcaf8635f1b36ffaf3e4ef0","responseTime":22,"status":200,"url":"/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:55:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"48900ae10dcaf8635f1b36ffaf3e4ef0"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"655f0ed23269a027034b8e4185a1031c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"655f0ed23269a027034b8e4185a1031c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/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":"655f0ed23269a027034b8e4185a1031c"} device-1 | {"level":"info","message":"OPTIONS /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/websocket 200 1ms","method":"OPTIONS","requestID":"655f0ed23269a027034b8e4185a1031c","responseTime":1,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ","level":"info","message":"auth send jwt","requestID":"075c00c144c5dfea2c692bc47c82c043"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"075c00c144c5dfea2c692bc47c82c043","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"075c00c144c5dfea2c692bc47c82c043"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.194353,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"075c00c144c5dfea2c692bc47c82c043","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"075c00c144c5dfea2c692bc47c82c043","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"075c00c144c5dfea2c692bc47c82c043"} gateway-1 | {"time_local":"24/Sep/2024:23:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/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":"075c00c144c5dfea2c692bc47c82c043"} device-1 | {"level":"info","message":"POST /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/websocket 200 24ms","method":"POST","requestID":"075c00c144c5dfea2c692bc47c82c043","responseTime":24,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e2f74b51dd5407d1d8e8c2c4920ab138","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e2f74b51dd5407d1d8e8c2c4920ab138","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"e2f74b51dd5407d1d8e8c2c4920ab138"} device-1 | {"level":"info","message":"OPTIONS /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed? 200 1ms","method":"OPTIONS","requestID":"e2f74b51dd5407d1d8e8c2c4920ab138","responseTime":1,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ","level":"info","message":"auth send jwt","requestID":"cee70d0de977bfb8eb2f69027af83ae0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cee70d0de977bfb8eb2f69027af83ae0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"cee70d0de977bfb8eb2f69027af83ae0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.31907,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cee70d0de977bfb8eb2f69027af83ae0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cee70d0de977bfb8eb2f69027af83ae0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.288916281Z"}]},"request_id":"ca0ae1a2-8401-40c5-baea-9bc37ecbe874","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.4611888} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cee70d0de977bfb8eb2f69027af83ae0","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d3ff462-ef98-4188-a0c0-afc547023e00","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.4693322} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"cee70d0de977bfb8eb2f69027af83ae0","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.288916281Z"}]},"request_id":"8e053f66-7eb1-420a-851f-e2aabcad5001","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.4809363} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cee70d0de977bfb8eb2f69027af83ae0","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"cee70d0de977bfb8eb2f69027af83ae0"} gateway-1 | {"time_local":"24/Sep/2024:23:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cee70d0de977bfb8eb2f69027af83ae0"} device-1 | {"level":"info","message":"PATCH /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed? 200 39ms","method":"PATCH","requestID":"cee70d0de977bfb8eb2f69027af83ae0","responseTime":39,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ","level":"info","message":"auth send jwt","requestID":"97fc9ae00da47e43742198203bb827b5"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"97fc9ae00da47e43742198203bb827b5","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97fc9ae00da47e43742198203bb827b5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.317989,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97fc9ae00da47e43742198203bb827b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"97fc9ae00da47e43742198203bb827b5","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.288916281Z"}]},"request_id":"a95d9903-c244-43db-892b-40a6297316eb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.5129943} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"97fc9ae00da47e43742198203bb827b5","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97fc9ae00da47e43742198203bb827b5"} device-1 | {"level":"info","message":"GET /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed? 200 19ms","method":"GET","requestID":"97fc9ae00da47e43742198203bb827b5","responseTime":19,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed?"} gateway-1 | {"time_local":"24/Sep/2024:23:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97fc9ae00da47e43742198203bb827b5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ","level":"info","message":"auth send jwt","requestID":"8431783604a648cdd12b371b4b662b9c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8431783604a648cdd12b371b4b662b9c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8431783604a648cdd12b371b4b662b9c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.299374,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8431783604a648cdd12b371b4b662b9c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8431783604a648cdd12b371b4b662b9c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.336004024Z"}]},"request_id":"85e3e1db-2d2b-4dec-8752-9ac84d97c0c8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.5414917} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8431783604a648cdd12b371b4b662b9c","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8431783604a648cdd12b371b4b662b9c"} gateway-1 | {"time_local":"24/Sep/2024:23:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8431783604a648cdd12b371b4b662b9c"} device-1 | {"level":"info","message":"GET /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0? 200 19ms","method":"GET","requestID":"8431783604a648cdd12b371b4b662b9c","responseTime":19,"status":200,"url":"/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ","level":"info","message":"auth send jwt","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e6ec36e969a0682c669a99a0ca66e6af","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.2615,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e6ec36e969a0682c669a99a0ca66e6af","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e6ec36e969a0682c669a99a0ca66e6af","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Attempting to run experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Attempting to book experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Successfully booked experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8c38e5a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8c3933c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909219,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c38e5a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8c38e5a0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.921918,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c3933c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8c3933c0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.288916281Z"}]},"request_id":"d621ddbb-4ed7-4bef-a529-ec75690f355b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.6208873} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8c38e5a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.336004024Z"}]},"request_id":"420b61bf-88f3-4bca-827e-5ef6000d2acd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.6236985} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8c3933c0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8c38e5a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed? 200 16ms","method":"GET","requestID":"8c38e5a0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8c3933c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0? 200 19ms","method":"GET","requestID":"8c3933c0-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Setting up experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Successfully set up experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8c44cc80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8c4541b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8c458fd0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Successfully running experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.835044,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c44cc80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"8c44cc80-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.235455,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58662","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c4541b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"8c4541b0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58662","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.682963,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d3a07a0-a9d2-4740-aa6f-e4741c6d542f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.706691} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c458fd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","object_type":"device","rebac_allow":false,"scope_allow":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":"8c458fd0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.288916281Z"}]},"request_id":"1b173827-36d6-49d9-a164-024cf63cf80e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.7109694} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"8c44cc80-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8c458fd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.336004024Z"}]},"request_id":"64c1ea44-343d-4581-9ae2-871f83d4eb0d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.7163298} device-1 | {"level":"info","message":"POST /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/signaling 200 25ms","method":"POST","requestID":"8c458fd0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"8c4541b0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8c4a23b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8c44cc80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed? 200 41ms","method":"GET","requestID":"8c44cc80-7ad0-11ef-9247-9909de679d1e","responseTime":41,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8c4541b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F82930153-ba50-4fb3-971c-5a6543c65a33#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F82930153-ba50-4fb3-971c-5a6543c65a33","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"9b2593bb-d80f-4bb4-aab9-35b75101baa1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.7278855} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c45f4d0-9f68-4522-8ae6-92a4f7dc3928","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.7283223} device-1 | {"level":"info","message":"GET /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0? 200 40ms","method":"GET","requestID":"8c4541b0-7ad0-11ef-9247-9909de679d1e","responseTime":40,"status":200,"url":"/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"e6ec36e969a0682c669a99a0ca66e6af","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4d7b8ac9-556d-41fe-a2c5-9c376e17c8d5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.7340016} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8c4bd160-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.797643,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c4a23b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","object_type":"device","rebac_allow":false,"scope_allow":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":"8c4a23b0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8c4a23b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/signaling 200 17ms","method":"POST","requestID":"8c4a23b0-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"efeb7d5c-fde7-425b-b5c7-b52b868dd031","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.7415106} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.995112,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c4bd160-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","object_type":"device","rebac_allow":false,"scope_allow":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":"8c4bd160-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} gateway-1 | {"time_local":"24/Sep/2024:23:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"812","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} experiment-1 | {"level":"info","message":"POST /experiments? 201 189ms","method":"POST","requestID":"e6ec36e969a0682c669a99a0ca66e6af","responseTime":189,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8c4bd160-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/signaling 200 13ms","method":"POST","requestID":"8c4bd160-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8c4e4260-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ","level":"info","message":"auth send jwt","requestID":"a2d9d4f6c5c0c5a362619e0e4141360e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a2d9d4f6c5c0c5a362619e0e4141360e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2d9d4f6c5c0c5a362619e0e4141360e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0abf8e3b-08bb-4b44-8dcd-6e6684674fb1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.7559273} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.689836,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c4e4260-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","object_type":"device","rebac_allow":false,"scope_allow":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":"8c4e4260-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.149783,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a2d9d4f6c5c0c5a362619e0e4141360e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a2d9d4f6c5c0c5a362619e0e4141360e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8c4e4260-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/signaling 200 11ms","method":"POST","requestID":"8c4e4260-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.288916281Z"}]},"request_id":"8b1c1e64-0058-4b9d-9cb2-b3c6ea32f0e9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.7621205} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a2d9d4f6c5c0c5a362619e0e4141360e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8c506540-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8c508c50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2d9d4f6c5c0c5a362619e0e4141360e"} gateway-1 | {"time_local":"24/Sep/2024:23:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2d9d4f6c5c0c5a362619e0e4141360e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660719,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} device-1 | {"level":"info","message":"GET /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed? 200 15ms","method":"GET","requestID":"a2d9d4f6c5c0c5a362619e0e4141360e","responseTime":15,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c506540-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8c506540-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.752072,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c508c50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8c508c50-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.288916281Z"}]},"request_id":"75bf5247-b3cb-47da-8652-4bd00a10bf81","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.7728925} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ","level":"info","message":"auth send jwt","requestID":"24bfabe56c13cdc3d23dcdf75d5fd359"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"24bfabe56c13cdc3d23dcdf75d5fd359","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"24bfabe56c13cdc3d23dcdf75d5fd359"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8c506540-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.336004024Z"}]},"request_id":"161d00f8-e710-4a20-a143-750e9b1d1521","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.775005} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8c508c50-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.798818,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8c506540-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"24bfabe56c13cdc3d23dcdf75d5fd359","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"24bfabe56c13cdc3d23dcdf75d5fd359","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed? 200 15ms","method":"GET","requestID":"8c506540-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8c508c50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0? 200 14ms","method":"GET","requestID":"8c508c50-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Building connection plan","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"3ed0052c-c0d1-4cd5-85ea-240869c32669"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"fcac057d-c5f2-4e3c-ae65-03387f96d683"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"1d75a3f2-0d4e-47e4-9cc0-72dc0e220d2a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:55:57.336004024Z"}]},"request_id":"a7880ce6-444b-48a4-8c86-968758a69082","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.7830641} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"8c534b70-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"8c534b70-7ad0-11ef-a772-4d02dbd671ac"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"24bfabe56c13cdc3d23dcdf75d5fd359","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"24bfabe56c13cdc3d23dcdf75d5fd359"} gateway-1 | {"time_local":"24/Sep/2024:23:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24bfabe56c13cdc3d23dcdf75d5fd359"} device-1 | {"level":"info","message":"GET /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0? 200 12ms","method":"GET","requestID":"24bfabe56c13cdc3d23dcdf75d5fd359","responseTime":12,"status":200,"url":"/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0?"} forwarding-1 | {"level":"info","message":"POST /rooms 201 4ms","method":"POST","requestID":"8c534b70-7ad0-11ef-a772-4d02dbd671ac","responseTime":4,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/d38c5fec-830f-439a-910b-ccd0acb2dff1?id=2a6cfcd9-e3e5-4557-b5f1-f1f6cd708cfa","ws://localhost/rooms/d38c5fec-830f-439a-910b-ccd0acb2dff1?id=ec42a48e-acb7-465a-873c-b35f9d085f8a"]},"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8c5435d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.981953,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c5435d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8c5435d0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"38f5d8ca-b1d4-447b-a71e-7c9dfd8058b3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.801282} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5415264f-f79d-4e26-8471-040a058957f2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.8015554} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8c5435d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8c5435d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8c5435d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6'","requestID":"8c5435d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6'","requestID":"8c5435d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8c5435d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"8c5435d0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"8c5435d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0c516588-c416-4f91-bd8c-73ed08e9b5e6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"8c598d00-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"2a6cfcd9-e3e5-4557-b5f1-f1f6cd708cfa\" in room \"http://localhost/rooms/d38c5fec-830f-439a-910b-ccd0acb2dff1\"","requestID":"8c598d00-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"8c598d00-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0a2219aacbe163fe81453754ae304222","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0a2219aacbe163fe81453754ae304222","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"8c5a0230-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"ec42a48e-acb7-465a-873c-b35f9d085f8a\" in room \"http://localhost/rooms/d38c5fec-830f-439a-910b-ccd0acb2dff1\"","requestID":"8c5a0230-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"8c5a0230-7ad0-11ef-a772-4d02dbd671ac"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6"}}},"level":"info","message":"received a callback","requestID":"0a2219aacbe163fe81453754ae304222"} device-1 | {"data":{"peerconnection":"0c516588-c416-4f91-bd8c-73ed08e9b5e6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 16ms","method":"POST","requestID":"0a2219aacbe163fe81453754ae304222","responseTime":16,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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.021","http_referrer":"","http_user_agent":"node-fetch","requestID":"0a2219aacbe163fe81453754ae304222"} device-1 | {"data":{"peerconnection":"0c516588-c416-4f91-bd8c-73ed08e9b5e6","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e6ec36e969a0682c669a99a0ca66e6af"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0c516588-c416-4f91-bd8c-73ed08e9b5e6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8c5f5960-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"35360ece9158ebfec577900f7a396a30","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"35360ece9158ebfec577900f7a396a30","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6"}}},"level":"info","message":"received a callback","requestID":"35360ece9158ebfec577900f7a396a30"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7afe5499-baeb-4785-b589-5b4c78775029","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.866723} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.239467,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c5f5960-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8c5f5960-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8c6091e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8c5f5960-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} device-1 | {"level":"info","message":"POST /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/signaling 200 15ms","method":"POST","requestID":"8c5f5960-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8c61ca60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0c516588-c416-4f91-bd8c-73ed08e9b5e6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42ffa85e-c5ab-43b0-a4ca-b7d4591af7b0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.8786545} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":7.075434,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c6091e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6","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 11ms","method":"POST","requestID":"8c6091e0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49128ec0-976c-4c62-a47f-6f194f7f9f8e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.8845243} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.537959,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c61ca60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","object_type":"device","rebac_allow":false,"scope_allow":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":"8c61ca60-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8c6091e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6 200 20ms","method":"GET","requestID":"8c6091e0-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8c61ca60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/signaling 200 14ms","method":"POST","requestID":"8c61ca60-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/signaling"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"35360ece9158ebfec577900f7a396a30","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:55: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.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"35360ece9158ebfec577900f7a396a30"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8c66ac60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"469c86d9-6f3e-42c7-9ab8-37cd1de6b0be","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.9150636} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.752956,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c66ac60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8c66ac60-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8c66ac60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/signaling 200 9ms","method":"POST","requestID":"8c66ac60-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8c688120-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"550be760-e2be-44ca-9ed3-f572cc6cbb01","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.9278388} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.713966,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c688120-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","object_type":"device","rebac_allow":false,"scope_allow":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":"8c688120-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ","level":"info","message":"auth send jwt","requestID":"ee9039388f63929df3ff521db740c129"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee9039388f63929df3ff521db740c129","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/82930153-ba50-4fb3-971c-5a6543c65a33","requestID":"ee9039388f63929df3ff521db740c129"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8c688120-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/signaling 200 14ms","method":"POST","requestID":"8c688120-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.851561,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ee9039388f63929df3ff521db740c129","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ee9039388f63929df3ff521db740c129","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/82930153-ba50-4fb3-971c-5a6543c65a33","requestID":"ee9039388f63929df3ff521db740c129"} gateway-1 | {"time_local":"24/Sep/2024:23:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/82930153-ba50-4fb3-971c-5a6543c65a33 HTTP/1.1","status": "200","body_bytes_sent":"885","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee9039388f63929df3ff521db740c129"} experiment-1 | {"level":"info","message":"GET /experiments/82930153-ba50-4fb3-971c-5a6543c65a33 200 13ms","method":"GET","requestID":"ee9039388f63929df3ff521db740c129","responseTime":13,"status":200,"url":"/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ","level":"info","message":"auth send jwt","requestID":"ee46a460175c7f189b164459a2b3d982"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee46a460175c7f189b164459a2b3d982","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/82930153-ba50-4fb3-971c-5a6543c65a33","requestID":"ee46a460175c7f189b164459a2b3d982"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.827263,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ee46a460175c7f189b164459a2b3d982","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ee46a460175c7f189b164459a2b3d982","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Attempting to finish experiment","requestID":"ee46a460175c7f189b164459a2b3d982"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8c6ec2b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.706416,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:55:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c6ec2b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222159,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE1OX0.5vXdQZinVqOGW7twhJh1tKd-qDKlqZBkF1EEcFYJ3ZQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8c6ec2b0-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/d38c5fec-830f-439a-910b-ccd0acb2dff1?id=2a6cfcd9-e3e5-4557-b5f1-f1f6cd708cfa HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.151","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"a150eaa1efc47363bdbd193dd0364b6a"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"2a6cfcd9-e3e5-4557-b5f1-f1f6cd708cfa\" in room \"http://localhost/rooms/d38c5fec-830f-439a-910b-ccd0acb2dff1\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"2a6cfcd9-e3e5-4557-b5f1-f1f6cd708cfa\" from room \"http://localhost/rooms/d38c5fec-830f-439a-910b-ccd0acb2dff1\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6","device":"8628dd87-85fd-49a2-9066-fb4da6d788ed","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} gateway-1 | {"time_local":"24/Sep/2024:23:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/d38c5fec-830f-439a-910b-ccd0acb2dff1?id=ec42a48e-acb7-465a-873c-b35f9d085f8a HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.150","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ff177257533f5beca196c1db8e121b3f"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6' to 'http://localhost/callbacks/experiment'"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"ec42a48e-acb7-465a-873c-b35f9d085f8a\" in room \"http://localhost/rooms/d38c5fec-830f-439a-910b-ccd0acb2dff1\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"ec42a48e-acb7-465a-873c-b35f9d085f8a\" from room \"http://localhost/rooms/d38c5fec-830f-439a-910b-ccd0acb2dff1\""} device-1 | {"data":{"peerconnection":"0c516588-c416-4f91-bd8c-73ed08e9b5e6","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"662a04eaf02c5951cec71f24936b4dca","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"662a04eaf02c5951cec71f24936b4dca","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"baaf705f79e00a0c19c8b569e0996815","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"baaf705f79e00a0c19c8b569e0996815","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6"}}},"level":"info","message":"received a callback","requestID":"662a04eaf02c5951cec71f24936b4dca"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0c516588-c416-4f91-bd8c-73ed08e9b5e6': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0c516588-c416-4f91-bd8c-73ed08e9b5e6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"92b9c1f7-fd24-4f88-b928-99664749a1c5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.983184} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6"}}},"level":"info","message":"received a callback","requestID":"baaf705f79e00a0c19c8b569e0996815"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42dbbd77-c25e-4e19-9151-0faee125e334","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222159.98354} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"8c6ec2b0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"0c516588-c416-4f91-bd8c-73ed08e9b5e6","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8c6ec2b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6 204 38ms","method":"DELETE","requestID":"8c6ec2b0-7ad0-11ef-9247-9909de679d1e","responseTime":38,"status":204,"url":"/peerconnections/0c516588-c416-4f91-bd8c-73ed08e9b5e6"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"},"level":"info","message":"Successfully finished experiment","requestID":"ee46a460175c7f189b164459a2b3d982"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8c772720-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:00Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fab9181ca-07f1-4b21-a3d0-8a10585f6ca0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35aa3b8d-bafe-42f7-a15e-a2fb5fb37f44","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.0229414} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.251401,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c772720-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8c772720-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8c772720-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/signaling 200 9ms","method":"POST","requestID":"8c772720-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8c78d4d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F82930153-ba50-4fb3-971c-5a6543c65a33': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F82930153-ba50-4fb3-971c-5a6543c65a33","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"3a3dd081-0e0a-4b50-8413-42dff821ebca","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.0297842} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71145830-c292-4019-838a-fea3ee9fb583","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.0300083} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"ee46a460175c7f189b164459a2b3d982","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:00Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8628dd87-85fd-49a2-9066-fb4da6d788ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8d3e0ce-e58f-425c-83be-83febae682db","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.0344667} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.225177,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c78d4d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8c78d4d0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8c78d4d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/signaling 200 10ms","method":"POST","requestID":"8c78d4d0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/8628dd87-85fd-49a2-9066-fb4da6d788ed/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/82930153-ba50-4fb3-971c-5a6543c65a33","requestID":"ee46a460175c7f189b164459a2b3d982"} gateway-1 | {"time_local":"24/Sep/2024:23:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/82930153-ba50-4fb3-971c-5a6543c65a33 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee46a460175c7f189b164459a2b3d982"} experiment-1 | {"level":"info","message":"DELETE /experiments/82930153-ba50-4fb3-971c-5a6543c65a33 204 131ms","method":"DELETE","requestID":"ee46a460175c7f189b164459a2b3d982","responseTime":131,"status":204,"url":"/experiments/82930153-ba50-4fb3-971c-5a6543c65a33"} gateway-1 | {"time_local":"24/Sep/2024:23:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1543","request_time":"2.180","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"ef272d1e07a5de26d614e15532089cc6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"662a04eaf02c5951cec71f24936b4dca","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.108","http_referrer":"","http_user_agent":"node-fetch","requestID":"662a04eaf02c5951cec71f24936b4dca"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"baaf705f79e00a0c19c8b569e0996815","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.109","http_referrer":"","http_user_agent":"node-fetch","requestID":"baaf705f79e00a0c19c8b569e0996815"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2MH0.V0dt62Mr9v7wzQ-1X1PsgbRRWyYAkqyPtTMSRMJQyG0","level":"info","message":"auth send jwt","requestID":"f2eb064e208d5903d83cdd1a1ffd1385"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f2eb064e208d5903d83cdd1a1ffd1385","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1866","request_time":"0.696","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"00f0c28678d88433249ea8a0f95d1f27"} device-1 | {"level":"info","message":"postDevices called","requestID":"f2eb064e208d5903d83cdd1a1ffd1385"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.937143,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f2eb064e208d5903d83cdd1a1ffd1385","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222160,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2MH0.V0dt62Mr9v7wzQ-1X1PsgbRRWyYAkqyPtTMSRMJQyG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f2eb064e208d5903d83cdd1a1ffd1385","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ab9181ca-07f1-4b21-a3d0-8a10585f6ca0' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a5970973-bcaf-428d-ba9f-072f9f11cfff","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.1213646} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f2eb064e208d5903d83cdd1a1ffd1385","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/8628dd87-85fd-49a2-9066-fb4da6d788ed' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46c434be-d1b9-48e1-82a5-f1e6dca559aa","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.127146} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f2eb064e208d5903d83cdd1a1ffd1385","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"e3325c4a-053f-4aa1-9cfb-efa988a858e1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.1360183} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa1eda80-9b02-473f-bdb4-66e78f4c8754","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.1362276} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"f2eb064e208d5903d83cdd1a1ffd1385","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.136005076Z"}]},"request_id":"21972bbb-cf49-476d-90d8-8314992d536d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.1405923} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f2eb064e208d5903d83cdd1a1ffd1385","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f2eb064e208d5903d83cdd1a1ffd1385"} gateway-1 | {"time_local":"24/Sep/2024:23:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2eb064e208d5903d83cdd1a1ffd1385"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"f2eb064e208d5903d83cdd1a1ffd1385","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2MH0.V0dt62Mr9v7wzQ-1X1PsgbRRWyYAkqyPtTMSRMJQyG0","level":"info","message":"auth send jwt","requestID":"5df018ccb69dad2a6898b955aa5875e5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5df018ccb69dad2a6898b955aa5875e5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5df018ccb69dad2a6898b955aa5875e5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.671366,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5df018ccb69dad2a6898b955aa5875e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222160,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2MH0.V0dt62Mr9v7wzQ-1X1PsgbRRWyYAkqyPtTMSRMJQyG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5df018ccb69dad2a6898b955aa5875e5","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fb0acc3c-dcdb-440c-8d1b-2c52d8ec03be","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.1693327} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5df018ccb69dad2a6898b955aa5875e5","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f525e49-47cd-4ca1-ae9d-ff9f56962bcf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.1744454} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5df018ccb69dad2a6898b955aa5875e5","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"f75ca108-86cb-4e1b-b9df-11c54750c94c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.186159} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5fb9102-7112-4892-8491-d5ee5de51157","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.1863005} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"5df018ccb69dad2a6898b955aa5875e5","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.186146343Z"}]},"request_id":"b6f8c437-3f3d-4a25-b2ef-8f7203f3aaad","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.1915925} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5df018ccb69dad2a6898b955aa5875e5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5df018ccb69dad2a6898b955aa5875e5"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"5df018ccb69dad2a6898b955aa5875e5","responseTime":46,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5df018ccb69dad2a6898b955aa5875e5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2MH0.V0dt62Mr9v7wzQ-1X1PsgbRRWyYAkqyPtTMSRMJQyG0","level":"info","message":"auth send jwt","requestID":"fdc3f017d08ce451f87ff221fe67737b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fdc3f017d08ce451f87ff221fe67737b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"fdc3f017d08ce451f87ff221fe67737b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.154145,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"fdc3f017d08ce451f87ff221fe67737b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222160,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2MH0.V0dt62Mr9v7wzQ-1X1PsgbRRWyYAkqyPtTMSRMJQyG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fdc3f017d08ce451f87ff221fe67737b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.136005076Z"}]},"request_id":"91a8eb1e-f9b4-4e15-863f-2065bff1d5bd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.6966934} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fdc3f017d08ce451f87ff221fe67737b","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab1bc406-7e23-4a40-8868-02458a95d8e4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.7054095} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"fdc3f017d08ce451f87ff221fe67737b","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.136005076Z"}]},"request_id":"6e5ca9bb-e7a4-45c3-b004-f650e1e1379d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222160.7179375} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fdc3f017d08ce451f87ff221fe67737b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"fdc3f017d08ce451f87ff221fe67737b"} gateway-1 | {"time_local":"24/Sep/2024:23:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"fdc3f017d08ce451f87ff221fe67737b"} device-1 | {"level":"info","message":"PATCH /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705 200 45ms","method":"PATCH","requestID":"fdc3f017d08ce451f87ff221fe67737b","responseTime":45,"status":200,"url":"/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2MH0.V0dt62Mr9v7wzQ-1X1PsgbRRWyYAkqyPtTMSRMJQyG0","level":"info","message":"auth send jwt","requestID":"d334df934d21194df2b4e656fae4dcac"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d334df934d21194df2b4e656fae4dcac","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d334df934d21194df2b4e656fae4dcac"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.64866,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d334df934d21194df2b4e656fae4dcac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222160,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2MH0.V0dt62Mr9v7wzQ-1X1PsgbRRWyYAkqyPtTMSRMJQyG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d334df934d21194df2b4e656fae4dcac","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d334df934d21194df2b4e656fae4dcac"} gateway-1 | {"time_local":"24/Sep/2024:23:56:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"d334df934d21194df2b4e656fae4dcac"} device-1 | {"level":"info","message":"POST /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/websocket 200 25ms","method":"POST","requestID":"d334df934d21194df2b4e656fae4dcac","responseTime":25,"status":200,"url":"/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"56ffa447018679481332ee7f8eaddfd0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"56ffa447018679481332ee7f8eaddfd0","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/df7b2086-b644-44ee-b054-f4bf3edc9482/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":"56ffa447018679481332ee7f8eaddfd0"} device-1 | {"level":"info","message":"OPTIONS /devices/df7b2086-b644-44ee-b054-f4bf3edc9482/websocket 200 1ms","method":"OPTIONS","requestID":"56ffa447018679481332ee7f8eaddfd0","responseTime":1,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g","level":"info","message":"auth send jwt","requestID":"28b103119c1ac20876ec45180c68444f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"28b103119c1ac20876ec45180c68444f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"28b103119c1ac20876ec45180c68444f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.824723,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"28b103119c1ac20876ec45180c68444f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"28b103119c1ac20876ec45180c68444f","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"28b103119c1ac20876ec45180c68444f"} device-1 | {"level":"info","message":"POST /devices/df7b2086-b644-44ee-b054-f4bf3edc9482/websocket 200 23ms","method":"POST","requestID":"28b103119c1ac20876ec45180c68444f","responseTime":23,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/df7b2086-b644-44ee-b054-f4bf3edc9482/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":"28b103119c1ac20876ec45180c68444f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4e1da53511c190f67badd5bd661c94b4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4e1da53511c190f67badd5bd661c94b4","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/df7b2086-b644-44ee-b054-f4bf3edc9482? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"4e1da53511c190f67badd5bd661c94b4"} device-1 | {"level":"info","message":"OPTIONS /devices/df7b2086-b644-44ee-b054-f4bf3edc9482? 200 1ms","method":"OPTIONS","requestID":"4e1da53511c190f67badd5bd661c94b4","responseTime":1,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g","level":"info","message":"auth send jwt","requestID":"d7e228ad926db6490d29939be71153f2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d7e228ad926db6490d29939be71153f2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d7e228ad926db6490d29939be71153f2"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.223462,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7e228ad926db6490d29939be71153f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d7e228ad926db6490d29939be71153f2","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.186146343Z"}]},"request_id":"02f4e6c6-7e60-40fe-a57b-df2399b03be3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.301434} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d7e228ad926db6490d29939be71153f2","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c12bbb69-b4aa-4df6-b063-6c45682ab3c0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.3107195} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"d7e228ad926db6490d29939be71153f2","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.186146343Z"}]},"request_id":"32103c1f-4955-401b-a3f7-31f1f8c7d3f4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.321719} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d7e228ad926db6490d29939be71153f2","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d7e228ad926db6490d29939be71153f2"} device-1 | {"level":"info","message":"PATCH /devices/df7b2086-b644-44ee-b054-f4bf3edc9482? 200 40ms","method":"PATCH","requestID":"d7e228ad926db6490d29939be71153f2","responseTime":40,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/df7b2086-b644-44ee-b054-f4bf3edc9482? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.047","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d7e228ad926db6490d29939be71153f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g","level":"info","message":"auth send jwt","requestID":"109250ed5d4aa62cea5467757f7f08a2"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"109250ed5d4aa62cea5467757f7f08a2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"109250ed5d4aa62cea5467757f7f08a2"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.244614,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"109250ed5d4aa62cea5467757f7f08a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"109250ed5d4aa62cea5467757f7f08a2","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.136005076Z"}]},"request_id":"c824441b-23ce-4208-b1f1-c62a93e56458","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.352949} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"109250ed5d4aa62cea5467757f7f08a2","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"109250ed5d4aa62cea5467757f7f08a2"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"109250ed5d4aa62cea5467757f7f08a2"} device-1 | {"level":"info","message":"GET /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705? 200 21ms","method":"GET","requestID":"109250ed5d4aa62cea5467757f7f08a2","responseTime":21,"status":200,"url":"/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g","level":"info","message":"auth send jwt","requestID":"4958aae18b84dc129b25142e7d9c67b7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4958aae18b84dc129b25142e7d9c67b7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4958aae18b84dc129b25142e7d9c67b7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.194971,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4958aae18b84dc129b25142e7d9c67b7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4958aae18b84dc129b25142e7d9c67b7","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.186146343Z"}]},"request_id":"42732150-267f-4315-84a3-1694bab60d48","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.3820353} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4958aae18b84dc129b25142e7d9c67b7","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4958aae18b84dc129b25142e7d9c67b7"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df7b2086-b644-44ee-b054-f4bf3edc9482? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4958aae18b84dc129b25142e7d9c67b7"} device-1 | {"level":"info","message":"GET /devices/df7b2086-b644-44ee-b054-f4bf3edc9482? 200 19ms","method":"GET","requestID":"4958aae18b84dc129b25142e7d9c67b7","responseTime":19,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g","level":"info","message":"auth send jwt","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.349598,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Attempting to run experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Attempting to book experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Successfully booked experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8de758f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8de7ce20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.911849,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8de758f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"8de758f0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.896057,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8de7ce20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8de7ce20-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.136005076Z"}]},"request_id":"96a330a1-001a-46d6-8bbf-6c174489ca73","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.4437218} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8de758f0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.186146343Z"}]},"request_id":"b91b331a-8884-4f4e-8563-dcc2dddbd02a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.444454} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8de7ce20-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8de758f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705? 200 17ms","method":"GET","requestID":"8de758f0-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8de7ce20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/df7b2086-b644-44ee-b054-f4bf3edc9482? 200 15ms","method":"GET","requestID":"8de7ce20-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Setting up experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Successfully set up experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8df33fd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8df38df0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8df40320-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Successfully running experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.421475,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8df33fd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"8df33fd0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.362045,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58662","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8df38df0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"8df38df0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22cd60f7-1adc-48e1-b409-d069c5663f87","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.5264904} authorization-1 | {"client_addr":"127.0.0.1:58662","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.045137,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8df40320-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"8df40320-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.136005076Z"}]},"request_id":"894bc32b-fcac-4bd7-8fed-8876661429bb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.5300639} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.186146343Z"}]},"request_id":"94ac2f4b-8f14-42b4-87d6-63dc6400a160","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.532951} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"8df33fd0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"8df38df0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8df40320-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/signaling 200 34ms","method":"POST","requestID":"8df40320-7ad0-11ef-9247-9909de679d1e","responseTime":34,"status":200,"url":"/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fddd075eb-811a-4a34-b5be-91fa16353c13#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fddd075eb-811a-4a34-b5be-91fa16353c13","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"799b9190-c529-4035-ba5a-23b4afe1af00","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.5481477} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3bd09f46-4aae-4beb-98ed-a9880c248640","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.5485082} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8df33fd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705? 200 43ms","method":"GET","requestID":"8df33fd0-7ad0-11ef-9247-9909de679d1e","responseTime":43,"status":200,"url":"/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3","responseTime":28,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8df9f690-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8df38df0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/df7b2086-b644-44ee-b054-f4bf3edc9482? 200 46ms","method":"GET","requestID":"8df38df0-7ad0-11ef-9247-9909de679d1e","responseTime":46,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa1d60d4-34af-4804-aae6-ad2555e5508a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.561549} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.905459,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8df9f690-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8dfba440-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"8df9f690-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37081764-6127-481a-b95f-e16bd7d9cd40","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.5734508} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8df9f690-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.975208,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} device-1 | {"level":"info","message":"POST /devices/df7b2086-b644-44ee-b054-f4bf3edc9482/signaling 200 21ms","method":"POST","requestID":"8df9f690-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 177ms","method":"POST","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3","responseTime":177,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"812","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8dfba440-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","object_type":"device","rebac_allow":false,"scope_allow":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":"8dfba440-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g","level":"info","message":"auth send jwt","requestID":"04310610fa3e0d19d88702f0e0164e00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8dfba440-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"04310610fa3e0d19d88702f0e0164e00","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/signaling 200 18ms","method":"POST","requestID":"8dfba440-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"04310610fa3e0d19d88702f0e0164e00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8dfeffa0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.995614,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"04310610fa3e0d19d88702f0e0164e00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"04310610fa3e0d19d88702f0e0164e00","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ecf276f4-dd20-4600-a202-d19b3ab35a2d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.5916119} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.213948,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8dfeffa0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","object_type":"device","rebac_allow":false,"scope_allow":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":"8dfeffa0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.136005076Z"}]},"request_id":"a365b26f-9b84-4faa-a6ba-e8a823b3f2e6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.5937593} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"04310610fa3e0d19d88702f0e0164e00","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8dfeffa0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/df7b2086-b644-44ee-b054-f4bf3edc9482/signaling 200 13ms","method":"POST","requestID":"8dfeffa0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"04310610fa3e0d19d88702f0e0164e00"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04310610fa3e0d19d88702f0e0164e00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} device-1 | {"level":"info","message":"GET /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705? 200 18ms","method":"GET","requestID":"04310610fa3e0d19d88702f0e0164e00","responseTime":18,"status":200,"url":"/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8e0170a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8e01bec0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g","level":"info","message":"auth send jwt","requestID":"c7b9ea38c7b6478691430f15ee11a173"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c7b9ea38c7b6478691430f15ee11a173","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7b9ea38c7b6478691430f15ee11a173"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.81868,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8e0170a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8e0170a0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786876,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8e01bec0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8e01bec0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.609818,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c7b9ea38c7b6478691430f15ee11a173","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c7b9ea38c7b6478691430f15ee11a173","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.136005076Z"}]},"request_id":"ca245c9c-1dd6-4d70-b169-4b0c172be761","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.6134868} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"8e0170a0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.186146343Z"}]},"request_id":"3c6ef9b7-2110-488e-8df9-ca5cec9ac1f8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.6166236} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8e0170a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8e01bec0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:00.186146343Z"}]},"request_id":"8daf2fcd-28b6-4ec5-b6e8-0bc275246ad8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.6191895} device-1 | {"level":"info","message":"GET /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705? 200 18ms","method":"GET","requestID":"8e0170a0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c7b9ea38c7b6478691430f15ee11a173","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8e01bec0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/df7b2086-b644-44ee-b054-f4bf3edc9482? 200 21ms","method":"GET","requestID":"8e01bec0-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7b9ea38c7b6478691430f15ee11a173"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df7b2086-b644-44ee-b054-f4bf3edc9482? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c7b9ea38c7b6478691430f15ee11a173"} device-1 | {"level":"info","message":"GET /devices/df7b2086-b644-44ee-b054-f4bf3edc9482? 200 20ms","method":"GET","requestID":"c7b9ea38c7b6478691430f15ee11a173","responseTime":20,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Building connection plan","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1a9f3cd8-a14f-4f62-bbe4-87913190dd38"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"355e83c8-c595-49ff-866f-d589ba7647e5"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"0e13546b-f291-4a3e-aa89-f84428038e9e"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"8e056840-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"8e056840-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 2ms","method":"POST","requestID":"8e056840-7ad0-11ef-a772-4d02dbd671ac","responseTime":2,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/a688e0e3-20d6-45d1-ae2d-a7b916470ae3?id=1c9e711e-5f21-49cd-aca8-e250843846b3","ws://localhost/rooms/a688e0e3-20d6-45d1-ae2d-a7b916470ae3?id=10ae1f97-b344-4ed1-ba6b-1b369d206ab9"]},"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8e060480-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.062326,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8e060480-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8e060480-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"91ea0c13-0de1-4d24-9c9a-f076a0080cac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.6476471} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2e0b86e-b96a-42d3-a530-128a8e195cee","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.647912} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"8e060480-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8e060480-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8e060480-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026'","requestID":"8e060480-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026'","requestID":"8e060480-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8e060480-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 32ms","method":"POST","requestID":"8e060480-7ad0-11ef-9247-9909de679d1e","responseTime":32,"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":"8e060480-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aa9991e1-5689-4f25-acbb-f83a1b20e026","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"8e0c6d20-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1c9e711e-5f21-49cd-aca8-e250843846b3\" in room \"http://localhost/rooms/a688e0e3-20d6-45d1-ae2d-a7b916470ae3\"","requestID":"8e0c6d20-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"8e0c6d20-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"12622206305d2a872fcc0b5814ffa541","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"12622206305d2a872fcc0b5814ffa541","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"8e0ce250-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"10ae1f97-b344-4ed1-ba6b-1b369d206ab9\" in room \"http://localhost/rooms/a688e0e3-20d6-45d1-ae2d-a7b916470ae3\"","requestID":"8e0ce250-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"8e0ce250-7ad0-11ef-a772-4d02dbd671ac"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026"}}},"level":"info","message":"received a callback","requestID":"12622206305d2a872fcc0b5814ffa541"} device-1 | {"data":{"peerconnection":"aa9991e1-5689-4f25-acbb-f83a1b20e026","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"12622206305d2a872fcc0b5814ffa541","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"12622206305d2a872fcc0b5814ffa541"} device-1 | {"data":{"peerconnection":"aa9991e1-5689-4f25-acbb-f83a1b20e026","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6ffca0c1f3a2086ab5411fec7c1d30e3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e114f20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aa9991e1-5689-4f25-acbb-f83a1b20e026","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0c37cfa-6ed9-4ab5-b221-8263bc9aafe4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.7114215} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e4ff210cbb72a3b2c5ae7019fed11ada","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:56808","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.591754,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e4ff210cbb72a3b2c5ae7019fed11ada","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8e114f20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","object_type":"device","rebac_allow":false,"scope_allow":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":"8e114f20-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026"}}},"level":"info","message":"received a callback","requestID":"e4ff210cbb72a3b2c5ae7019fed11ada"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8e134af0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e114f20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/signaling 200 16ms","method":"POST","requestID":"8e114f20-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faa9991e1-5689-4f25-acbb-f83a1b20e026","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b8bd6c3-1f6d-41af-8d57-758908a2eec0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.7247462} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e143550-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.924214,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8e134af0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026","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":"8e134af0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8e134af0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} device-1 | {"level":"info","message":"GET /peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026 200 10ms","method":"GET","requestID":"8e134af0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74f59c4a-4f1c-4ccd-a9b5-f975fe88825b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.7317853} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.562381,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8e143550-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","object_type":"device","rebac_allow":false,"scope_allow":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":"8e143550-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e143550-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/df7b2086-b644-44ee-b054-f4bf3edc9482/signaling 200 11ms","method":"POST","requestID":"8e143550-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482/signaling"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"e4ff210cbb72a3b2c5ae7019fed11ada","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","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":"e4ff210cbb72a3b2c5ae7019fed11ada"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e1790b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e30859fd-c336-4334-ae80-20e242cee5fc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.7522614} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.328934,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8e1790b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8e1790b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e1790b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/signaling 200 9ms","method":"POST","requestID":"8e1790b0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e196570-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc725191-8c2b-4fb6-9269-85a459407e31","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.7641196} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.399897,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8e196570-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","object_type":"device","rebac_allow":false,"scope_allow":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":"8e196570-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e196570-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/df7b2086-b644-44ee-b054-f4bf3edc9482/signaling 200 10ms","method":"POST","requestID":"8e196570-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g","level":"info","message":"auth send jwt","requestID":"8731d1ce40e63d2dcde7e9dbf16e928e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8731d1ce40e63d2dcde7e9dbf16e928e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ddd075eb-811a-4a34-b5be-91fa16353c13","requestID":"8731d1ce40e63d2dcde7e9dbf16e928e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.783961,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8731d1ce40e63d2dcde7e9dbf16e928e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8731d1ce40e63d2dcde7e9dbf16e928e","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ddd075eb-811a-4a34-b5be-91fa16353c13","requestID":"8731d1ce40e63d2dcde7e9dbf16e928e"} experiment-1 | {"level":"info","message":"GET /experiments/ddd075eb-811a-4a34-b5be-91fa16353c13 200 13ms","method":"GET","requestID":"8731d1ce40e63d2dcde7e9dbf16e928e","responseTime":13,"status":200,"url":"/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ddd075eb-811a-4a34-b5be-91fa16353c13 HTTP/1.1","status": "200","body_bytes_sent":"885","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8731d1ce40e63d2dcde7e9dbf16e928e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g","level":"info","message":"auth send jwt","requestID":"63f200ef102d60367ea8f014922e5f53"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"63f200ef102d60367ea8f014922e5f53","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ddd075eb-811a-4a34-b5be-91fa16353c13","requestID":"63f200ef102d60367ea8f014922e5f53"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.457564,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"63f200ef102d60367ea8f014922e5f53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"63f200ef102d60367ea8f014922e5f53","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Attempting to finish experiment","requestID":"63f200ef102d60367ea8f014922e5f53"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8e226620-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.705571,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8e226620-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8e226620-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/a688e0e3-20d6-45d1-ae2d-a7b916470ae3?id=1c9e711e-5f21-49cd-aca8-e250843846b3 HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.159","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"fd18b3917cd285deab57f58265a70dca"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"1c9e711e-5f21-49cd-aca8-e250843846b3\" in room \"http://localhost/rooms/a688e0e3-20d6-45d1-ae2d-a7b916470ae3\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"1c9e711e-5f21-49cd-aca8-e250843846b3\" from room \"http://localhost/rooms/a688e0e3-20d6-45d1-ae2d-a7b916470ae3\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026' to 'http://localhost/callbacks/experiment'"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/a688e0e3-20d6-45d1-ae2d-a7b916470ae3?id=10ae1f97-b344-4ed1-ba6b-1b369d206ab9 HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.160","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a562584d6c8c823370998ab454d6b255"} device-1 | {"data":{"peerconnection":"aa9991e1-5689-4f25-acbb-f83a1b20e026","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"10ae1f97-b344-4ed1-ba6b-1b369d206ab9\" in room \"http://localhost/rooms/a688e0e3-20d6-45d1-ae2d-a7b916470ae3\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"10ae1f97-b344-4ed1-ba6b-1b369d206ab9\" from room \"http://localhost/rooms/a688e0e3-20d6-45d1-ae2d-a7b916470ae3\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026","device":"df7b2086-b644-44ee-b054-f4bf3edc9482","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d534e25fabf5d97726c285e0bfc684bf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d534e25fabf5d97726c285e0bfc684bf","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faa9991e1-5689-4f25-acbb-f83a1b20e026': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faa9991e1-5689-4f25-acbb-f83a1b20e026","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"f801565c-1dca-4130-8e26-1c9a13b0c7b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.8404028} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6668b0b370c42d8d43785cbc4715151c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6668b0b370c42d8d43785cbc4715151c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026"}}},"level":"info","message":"received a callback","requestID":"d534e25fabf5d97726c285e0bfc684bf"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b4dfec0-6526-4dc2-8da4-982bae72443d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.840757} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026"}}},"level":"info","message":"received a callback","requestID":"6668b0b370c42d8d43785cbc4715151c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"8e226620-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"aa9991e1-5689-4f25-acbb-f83a1b20e026","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8e226620-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026 204 42ms","method":"DELETE","requestID":"8e226620-7ad0-11ef-9247-9909de679d1e","responseTime":42,"status":204,"url":"/peerconnections/aa9991e1-5689-4f25-acbb-f83a1b20e026"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"},"level":"info","message":"Successfully finished experiment","requestID":"63f200ef102d60367ea8f014922e5f53"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e2b66d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19082a79-3743-4b55-a2a4-45bf2bb8d705","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5800a80d-7a8c-4b98-98e1-c480f6b06758","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.881791} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.389742,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8e2b66d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8e2b66d0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e2b66d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/signaling 200 9ms","method":"POST","requestID":"8e2b66d0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fddd075eb-811a-4a34-b5be-91fa16353c13': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fddd075eb-811a-4a34-b5be-91fa16353c13","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"e571185e-7e10-4ca2-b782-cc5f56756853","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.8878183} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e2d1480-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3eaba38d-70c7-4460-a631-70b608dcf9b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.8881538} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"63f200ef102d60367ea8f014922e5f53","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf7b2086-b644-44ee-b054-f4bf3edc9482","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bcb3d18d-02a8-4e0c-98bf-fe61f783cc6e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.893596} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.665776,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8e2d1480-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df7b2086-b644-44ee-b054-f4bf3edc9482","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8e2d1480-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e2d1480-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/df7b2086-b644-44ee-b054-f4bf3edc9482/signaling 200 10ms","method":"POST","requestID":"8e2d1480-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/df7b2086-b644-44ee-b054-f4bf3edc9482/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ddd075eb-811a-4a34-b5be-91fa16353c13","requestID":"63f200ef102d60367ea8f014922e5f53"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ddd075eb-811a-4a34-b5be-91fa16353c13 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":"63f200ef102d60367ea8f014922e5f53"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1543","request_time":"2.199","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"1c76f27ffd77ba6335b1da6b5ea457a0"} experiment-1 | {"level":"info","message":"DELETE /experiments/ddd075eb-811a-4a34-b5be-91fa16353c13 204 154ms","method":"DELETE","requestID":"63f200ef102d60367ea8f014922e5f53","responseTime":154,"status":204,"url":"/experiments/ddd075eb-811a-4a34-b5be-91fa16353c13"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 118ms","method":"POST","requestID":"d534e25fabf5d97726c285e0bfc684bf","responseTime":118,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.122","http_referrer":"","http_user_agent":"node-fetch","requestID":"d534e25fabf5d97726c285e0bfc684bf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g","level":"info","message":"auth send jwt","requestID":"9f6bda532a6e604076b5d641e3269b9c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9f6bda532a6e604076b5d641e3269b9c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9f6bda532a6e604076b5d641e3269b9c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"6668b0b370c42d8d43785cbc4715151c","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"6668b0b370c42d8d43785cbc4715151c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.867005,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9f6bda532a6e604076b5d641e3269b9c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222162,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2Mn0.hiaYPLqf5ZpOcNKNAxX8fj9RVgYw1cqkdve70it-_8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9f6bda532a6e604076b5d641e3269b9c","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1866","request_time":"0.731","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b941e714cfc4a59dca1943c4843cfb3a"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/19082a79-3743-4b55-a2a4-45bf2bb8d705' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6ef4408f-d852-4bd0-ad28-c26851ee1ced","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.9824393} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9f6bda532a6e604076b5d641e3269b9c","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/df7b2086-b644-44ee-b054-f4bf3edc9482' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8657ae1-39eb-442f-b7b6-1f558a7198a3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222162.9879713} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9f6bda532a6e604076b5d641e3269b9c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"35a251b8-18aa-4a43-9c64-1e775526f9aa","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.0043693} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f147ab4f-0759-4c9b-aef2-58c0cd8074ac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.0044942} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"9f6bda532a6e604076b5d641e3269b9c","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.004351010Z"}]},"request_id":"de47b069-092f-4aa5-8e24-f230afa88ec8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.0100064} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9f6bda532a6e604076b5d641e3269b9c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9f6bda532a6e604076b5d641e3269b9c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f6bda532a6e604076b5d641e3269b9c"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"9f6bda532a6e604076b5d641e3269b9c","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE","level":"info","message":"auth send jwt","requestID":"00dd6ca7269125951ef7988f797a3be9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"00dd6ca7269125951ef7988f797a3be9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"00dd6ca7269125951ef7988f797a3be9"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.668722,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"00dd6ca7269125951ef7988f797a3be9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"00dd6ca7269125951ef7988f797a3be9","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b4c015e9-1c02-44bf-94dd-98a711d4c75a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.0370023} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"00dd6ca7269125951ef7988f797a3be9","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e713866a-c0a9-471c-841d-4e5ce6a40acf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.0425923} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"00dd6ca7269125951ef7988f797a3be9","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"ed46f183-562a-4d03-bf70-c6e6302f6c1a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.054893} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6bac0639-6619-4845-86e1-16b167d97bba","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.054975} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"00dd6ca7269125951ef7988f797a3be9","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.054872796Z"}]},"request_id":"e77c25aa-29f8-43b0-aafc-c01297be8609","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.0601146} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"00dd6ca7269125951ef7988f797a3be9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"00dd6ca7269125951ef7988f797a3be9"} gateway-1 | {"time_local":"24/Sep/2024:23:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00dd6ca7269125951ef7988f797a3be9"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"00dd6ca7269125951ef7988f797a3be9","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE","level":"info","message":"auth send jwt","requestID":"367cbac0f41cf766cfdca38ba8ed31c6"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"367cbac0f41cf766cfdca38ba8ed31c6","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE","level":"info","message":"auth send jwt","requestID":"a7ee27120641bf945f5e7b64a729871a"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a7ee27120641bf945f5e7b64a729871a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"367cbac0f41cf766cfdca38ba8ed31c6"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a7ee27120641bf945f5e7b64a729871a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715936,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"367cbac0f41cf766cfdca38ba8ed31c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"367cbac0f41cf766cfdca38ba8ed31c6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.559026,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7ee27120641bf945f5e7b64a729871a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a7ee27120641bf945f5e7b64a729871a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.004351010Z"}]},"request_id":"5845bb78-d437-45c0-aae5-8cd1f950d431","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.5416334} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a7ee27120641bf945f5e7b64a729871a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.054872796Z"}]},"request_id":"80cb6d31-b26d-432b-93f3-8f551b1ec024","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.5426028} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"367cbac0f41cf766cfdca38ba8ed31c6","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0776cb0d-e791-4ec9-acff-63733d5776a1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.5473537} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"a7ee27120641bf945f5e7b64a729871a","responseTime":7,"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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"188b5fc6-c77b-419e-8817-aa1ed907c73b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.5490127} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"367cbac0f41cf766cfdca38ba8ed31c6","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.054872796Z"}]},"request_id":"67fa69ca-d397-4fa0-b8de-3aa6c0153a1d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.554739} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"367cbac0f41cf766cfdca38ba8ed31c6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"367cbac0f41cf766cfdca38ba8ed31c6"} gateway-1 | {"time_local":"24/Sep/2024:23:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"367cbac0f41cf766cfdca38ba8ed31c6"} device-1 | {"level":"info","message":"PATCH /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd 200 33ms","method":"PATCH","requestID":"367cbac0f41cf766cfdca38ba8ed31c6","responseTime":33,"status":200,"url":"/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE","level":"info","message":"auth send jwt","requestID":"583eb2239e3bc0f398931bb882bc6036"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"583eb2239e3bc0f398931bb882bc6036","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"583eb2239e3bc0f398931bb882bc6036"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.004351010Z"}]},"request_id":"0f3dd8ef-1c0c-47d7-b37f-bd2455297e0c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.5621264} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a7ee27120641bf945f5e7b64a729871a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a7ee27120641bf945f5e7b64a729871a"} gateway-1 | {"time_local":"24/Sep/2024:23:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"a7ee27120641bf945f5e7b64a729871a"} device-1 | {"level":"info","message":"PATCH /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7 200 38ms","method":"PATCH","requestID":"a7ee27120641bf945f5e7b64a729871a","responseTime":38,"status":200,"url":"/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.876118,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"583eb2239e3bc0f398931bb882bc6036","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"583eb2239e3bc0f398931bb882bc6036","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE","level":"info","message":"auth send jwt","requestID":"e8cdc6d8cdb94214b710c756a0698574"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e8cdc6d8cdb94214b710c756a0698574","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e8cdc6d8cdb94214b710c756a0698574"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.840285,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e8cdc6d8cdb94214b710c756a0698574","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e8cdc6d8cdb94214b710c756a0698574","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"583eb2239e3bc0f398931bb882bc6036"} gateway-1 | {"time_local":"24/Sep/2024:23:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"583eb2239e3bc0f398931bb882bc6036"} device-1 | {"level":"info","message":"POST /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/websocket 200 19ms","method":"POST","requestID":"583eb2239e3bc0f398931bb882bc6036","responseTime":19,"status":200,"url":"/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e8cdc6d8cdb94214b710c756a0698574"} device-1 | {"level":"info","message":"POST /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/websocket 200 21ms","method":"POST","requestID":"e8cdc6d8cdb94214b710c756a0698574","responseTime":21,"status":200,"url":"/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"e8cdc6d8cdb94214b710c756a0698574"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE","level":"info","message":"auth send jwt","requestID":"71411a186e45ebccbb6a85b587758c53"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"71411a186e45ebccbb6a85b587758c53","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"71411a186e45ebccbb6a85b587758c53"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939597,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"71411a186e45ebccbb6a85b587758c53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"71411a186e45ebccbb6a85b587758c53","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.004351010Z"}]},"request_id":"199ad654-b28e-4de6-ba37-34a494798ce8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.6305852} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"71411a186e45ebccbb6a85b587758c53","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"71411a186e45ebccbb6a85b587758c53"} gateway-1 | {"time_local":"24/Sep/2024:23:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71411a186e45ebccbb6a85b587758c53"} device-1 | {"level":"info","message":"GET /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7? 200 13ms","method":"GET","requestID":"71411a186e45ebccbb6a85b587758c53","responseTime":13,"status":200,"url":"/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE","level":"info","message":"auth send jwt","requestID":"b724c97283965c6dae17171ef876a9f0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b724c97283965c6dae17171ef876a9f0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b724c97283965c6dae17171ef876a9f0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.054305,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b724c97283965c6dae17171ef876a9f0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b724c97283965c6dae17171ef876a9f0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.054872796Z"}]},"request_id":"93e8764d-4f00-4334-8bc0-0c8ac64acb0c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.6513526} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b724c97283965c6dae17171ef876a9f0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b724c97283965c6dae17171ef876a9f0"} gateway-1 | {"time_local":"24/Sep/2024:23:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b724c97283965c6dae17171ef876a9f0"} device-1 | {"level":"info","message":"GET /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd? 200 12ms","method":"GET","requestID":"b724c97283965c6dae17171ef876a9f0","responseTime":12,"status":200,"url":"/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE","level":"info","message":"auth send jwt","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"28e73266f8e7283583eb6ed4475e9bd2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.004826,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"28e73266f8e7283583eb6ed4475e9bd2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"28e73266f8e7283583eb6ed4475e9bd2","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Attempting to run experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Attempting to book experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Successfully booked experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8eaa33c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8eaa81e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.985124,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8eaa33c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"8eaa33c0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.970923,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8eaa81e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8eaa81e0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.004351010Z"}]},"request_id":"f3a13e0f-e0f3-470f-bae4-7d4c579180c1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.722376} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"8eaa33c0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.054872796Z"}]},"request_id":"2a934d53-7c35-486b-b8c6-f5d6343096d6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.7282963} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8eaa33c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8eaa81e0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7? 200 22ms","method":"GET","requestID":"8eaa33c0-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8eaa81e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd? 200 23ms","method":"GET","requestID":"8eaa81e0-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Setting up experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Successfully locked booking for experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Attempting to update booking for experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Successfully updated booking for experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Successfully set up experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8eb72c10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8eb7a140-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8eb83d80-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.174712,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8eb72c10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Successfully running experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8eb72c10-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.766126,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8eb7a140-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8eb7a140-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.748593,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"618ae92a-91c1-4314-afaf-07938de3efe1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.8086772} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.004351010Z"}]},"request_id":"1c692b74-9b1f-4ac1-b08b-f36e1bd37fa2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.8094451} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8eb72c10-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8eb83d80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","object_type":"device","rebac_allow":false,"scope_allow":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":"8eb83d80-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.054872796Z"}]},"request_id":"5d617a45-9290-482a-9d16-a0243b451d82","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.8110313} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"8eb7a140-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8eb72c10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7? 200 29ms","method":"GET","requestID":"8eb72c10-7ad0-11ef-9247-9909de679d1e","responseTime":29,"status":200,"url":"/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8eb83d80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/signaling 200 22ms","method":"POST","requestID":"8eb83d80-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8eb7a140-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd? 200 28ms","method":"GET","requestID":"8eb7a140-7ad0-11ef-9247-9909de679d1e","responseTime":28,"status":200,"url":"/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ebbe700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ebc5c30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbd4dc912-84ea-4cc3-8727-b49854436bfd#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbd4dc912-84ea-4cc3-8727-b49854436bfd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"4f7322d2-1847-4749-82ed-751ffaef83cd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.828562} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab945dfe-45be-4509-a347-7161a223f25b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.8290944} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.844963,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"28e73266f8e7283583eb6ed4475e9bd2","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a7dd3c1-c2b8-4dbd-ad8d-ad99d27745a1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.8328042} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ebbe700-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","object_type":"device","rebac_allow":false,"scope_allow":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":"8ebbe700-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19bf1645-3af9-494a-a539-3b29325c9f34","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.8363013} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.943631,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ebc5c30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","object_type":"device","rebac_allow":false,"scope_allow":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":"8ebc5c30-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ebbe700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/signaling 200 16ms","method":"POST","requestID":"8ebbe700-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ebc5c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/signaling 200 15ms","method":"POST","requestID":"8ebc5c30-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/signaling"} gateway-1 | {"time_local":"24/Sep/2024:23:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"816","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"28e73266f8e7283583eb6ed4475e9bd2","responseTime":180,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE","level":"info","message":"auth send jwt","requestID":"645d0f905025c05dc1c59f8c8847894b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"645d0f905025c05dc1c59f8c8847894b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ebf6970-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"645d0f905025c05dc1c59f8c8847894b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2821806f-3051-4edb-ae4e-57ebea14a78e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.8526766} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.954019,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.581205,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"645d0f905025c05dc1c59f8c8847894b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"645d0f905025c05dc1c59f8c8847894b","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ebf6970-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","object_type":"device","rebac_allow":false,"scope_allow":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":"8ebf6970-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.004351010Z"}]},"request_id":"6f71e861-c84b-4a98-8511-bf3983a917fe","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.8593743} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ebf6970-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/signaling 200 13ms","method":"POST","requestID":"8ebf6970-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"645d0f905025c05dc1c59f8c8847894b","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8ec1b360-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8ec20180-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"645d0f905025c05dc1c59f8c8847894b"} gateway-1 | {"time_local":"24/Sep/2024:23:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"645d0f905025c05dc1c59f8c8847894b"} device-1 | {"level":"info","message":"GET /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7? 200 17ms","method":"GET","requestID":"645d0f905025c05dc1c59f8c8847894b","responseTime":17,"status":200,"url":"/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.799747,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ec1b360-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8ec1b360-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779007,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ec20180-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8ec20180-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE","level":"info","message":"auth send jwt","requestID":"89da7a1b3f308ccec91c86cd80d093ac"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"89da7a1b3f308ccec91c86cd80d093ac","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.004351010Z"}]},"request_id":"71203576-ae60-40a4-a791-af7e0feed65f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.8721483} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"89da7a1b3f308ccec91c86cd80d093ac"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8ec1b360-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.054872796Z"}]},"request_id":"7619a5b9-03af-4e52-9915-cc2014243cd8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.8758528} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8ec1b360-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8ec20180-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.71176,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} device-1 | {"level":"info","message":"GET /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7? 200 17ms","method":"GET","requestID":"8ec1b360-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"89da7a1b3f308ccec91c86cd80d093ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"89da7a1b3f308ccec91c86cd80d093ac","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8ec20180-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:03.054872796Z"}]},"request_id":"3f792e6c-231d-4e8a-9a33-77d97d599ab2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.8838468} device-1 | {"level":"info","message":"GET /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd? 200 20ms","method":"GET","requestID":"8ec20180-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"89da7a1b3f308ccec91c86cd80d093ac","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Building connection plan","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"443a6a7e-fbdd-4cc0-9e66-02492cbf0844"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"ede3696f-06f8-48b6-903d-8915d0dae540"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"c4fd2713-28b0-4aba-9834-adec3644f59a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"89da7a1b3f308ccec91c86cd80d093ac"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"8ec583f0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"8ec583f0-7ad0-11ef-a772-4d02dbd671ac"} gateway-1 | {"time_local":"24/Sep/2024:23:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89da7a1b3f308ccec91c86cd80d093ac"} device-1 | {"level":"info","message":"GET /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd? 200 14ms","method":"GET","requestID":"89da7a1b3f308ccec91c86cd80d093ac","responseTime":14,"status":200,"url":"/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd?"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"8ec583f0-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/77f2d97a-c992-42dd-9ed9-76c44e7f6494?id=3ebcccfa-dd8c-4902-b70a-afca19bd6e08","ws://localhost/rooms/77f2d97a-c992-42dd-9ed9-76c44e7f6494?id=1a11c9e6-b21d-4f63-84d9-7caa444e4f61"]},"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8ec5f920-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.678487,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ec5f920-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222163,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2M30.KOIQl8G1Ju08CZKvHoE-xseDxuGBg8qN9_RhvrNgSwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8ec5f920-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"920d220b-fd26-4b08-b776-0ec3e4843f11","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.9030428} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f044908a-4116-48e1-8b0c-b1fb970162c9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.9032648} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"8ec5f920-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8ec5f920-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8ec5f920-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6'","requestID":"8ec5f920-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6'","requestID":"8ec5f920-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8ec5f920-7ad0-11ef-9247-9909de679d1e"} 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":"8ec5f920-7ad0-11ef-9247-9909de679d1e","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":"8ec5f920-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b0b9d702-389c-4042-a1f5-b965187d4af6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"8ecb9e70-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1a11c9e6-b21d-4f63-84d9-7caa444e4f61\" in room \"http://localhost/rooms/77f2d97a-c992-42dd-9ed9-76c44e7f6494\"","requestID":"8ecb9e70-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"8ecb9e70-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1040a4ffbdb45089fd6b2ddb0590567b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1040a4ffbdb45089fd6b2ddb0590567b","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"8ecbec90-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"3ebcccfa-dd8c-4902-b70a-afca19bd6e08\" in room \"http://localhost/rooms/77f2d97a-c992-42dd-9ed9-76c44e7f6494\"","requestID":"8ecbec90-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"8ecbec90-7ad0-11ef-a772-4d02dbd671ac"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6"}}},"level":"info","message":"received a callback","requestID":"1040a4ffbdb45089fd6b2ddb0590567b"} device-1 | {"data":{"peerconnection":"b0b9d702-389c-4042-a1f5-b965187d4af6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"1040a4ffbdb45089fd6b2ddb0590567b","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"1040a4ffbdb45089fd6b2ddb0590567b"} device-1 | {"data":{"peerconnection":"b0b9d702-389c-4042-a1f5-b965187d4af6","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"28e73266f8e7283583eb6ed4475e9bd2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ecf47f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c32831d8-d3b0-419b-92a5-f88b164db9f5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.956508} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.478583,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ecf47f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8ecf47f0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b0b9d702-389c-4042-a1f5-b965187d4af6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ecf47f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/signaling 200 20ms","method":"POST","requestID":"8ecf47f0-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8e1e9143867802635c1581b9e2199239","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8e1e9143867802635c1581b9e2199239","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ed2a350-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6"}}},"level":"info","message":"received a callback","requestID":"8e1e9143867802635c1581b9e2199239"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"867ca2f6-24a3-4e41-925e-ac826c92e544","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.9785652} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.368738,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8ed38db0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ed2a350-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8ed2a350-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb0b9d702-389c-4042-a1f5-b965187d4af6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e77913e-b553-4e05-9165-cfb121557678","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222163.9844089} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.285146,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ed2a350-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ed38db0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"POST /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/signaling 200 13ms","method":"POST","requestID":"8ed2a350-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8ed38db0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8ed38db0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6 200 9ms","method":"GET","requestID":"8ed38db0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"8e1e9143867802635c1581b9e2199239","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"8e1e9143867802635c1581b9e2199239"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ed7d370-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"624c5378-23ab-498d-9c5b-bf4da5d10add","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.01188} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.192439,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ed7d370-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","object_type":"device","rebac_allow":false,"scope_allow":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":"8ed7d370-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ed7d370-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/signaling 200 9ms","method":"POST","requestID":"8ed7d370-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ed98120-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"186b2569-51f9-4612-a190-8bf0476ac42c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.0231347} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.130376,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ed98120-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8ed98120-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ed98120-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/signaling 200 10ms","method":"POST","requestID":"8ed98120-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"d3dc7ee00bf795b14be0e5d00f45fbf4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d3dc7ee00bf795b14be0e5d00f45fbf4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd","requestID":"d3dc7ee00bf795b14be0e5d00f45fbf4"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.713805,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d3dc7ee00bf795b14be0e5d00f45fbf4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d3dc7ee00bf795b14be0e5d00f45fbf4","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd","requestID":"d3dc7ee00bf795b14be0e5d00f45fbf4"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd HTTP/1.1","status": "200","body_bytes_sent":"889","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3dc7ee00bf795b14be0e5d00f45fbf4"} experiment-1 | {"level":"info","message":"GET /experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd 200 10ms","method":"GET","requestID":"d3dc7ee00bf795b14be0e5d00f45fbf4","responseTime":10,"status":200,"url":"/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"513006991eb4e629d43d4d2da87535db"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"513006991eb4e629d43d4d2da87535db","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd","requestID":"513006991eb4e629d43d4d2da87535db"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.646082,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"513006991eb4e629d43d4d2da87535db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"513006991eb4e629d43d4d2da87535db","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Attempting to finish experiment","requestID":"513006991eb4e629d43d4d2da87535db"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8edfe9c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.17294,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8edfe9c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8edfe9c0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/77f2d97a-c992-42dd-9ed9-76c44e7f6494?id=3ebcccfa-dd8c-4902-b70a-afca19bd6e08 HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.147","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"f21722f50fa4b0ab8513b2a5650e3666"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/77f2d97a-c992-42dd-9ed9-76c44e7f6494?id=1a11c9e6-b21d-4f63-84d9-7caa444e4f61 HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.147","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"16fdb95a2942a6c28e3d4cae155d763f"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"3ebcccfa-dd8c-4902-b70a-afca19bd6e08\" in room \"http://localhost/rooms/77f2d97a-c992-42dd-9ed9-76c44e7f6494\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"3ebcccfa-dd8c-4902-b70a-afca19bd6e08\" from room \"http://localhost/rooms/77f2d97a-c992-42dd-9ed9-76c44e7f6494\""} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"1a11c9e6-b21d-4f63-84d9-7caa444e4f61\" in room \"http://localhost/rooms/77f2d97a-c992-42dd-9ed9-76c44e7f6494\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"1a11c9e6-b21d-4f63-84d9-7caa444e4f61\" from room \"http://localhost/rooms/77f2d97a-c992-42dd-9ed9-76c44e7f6494\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b0b9d702-389c-4042-a1f5-b965187d4af6","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f0391cae4280438da5f46761800132f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f0391cae4280438da5f46761800132f2","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb0b9d702-389c-4042-a1f5-b965187d4af6': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb0b9d702-389c-4042-a1f5-b965187d4af6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"d601f83e-cf6b-49e6-9904-19af879d6a94","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.0782359} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"70c113a9edec541c6f2add67e94122b9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40f5eb45-118d-4527-aaf6-6329a413cc62","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.0785959} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"70c113a9edec541c6f2add67e94122b9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6"}}},"level":"info","message":"received a callback","requestID":"f0391cae4280438da5f46761800132f2"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6"}}},"level":"info","message":"received a callback","requestID":"70c113a9edec541c6f2add67e94122b9"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"8edfe9c0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"b0b9d702-389c-4042-a1f5-b965187d4af6","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8edfe9c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6 204 42ms","method":"DELETE","requestID":"8edfe9c0-7ad0-11ef-9247-9909de679d1e","responseTime":42,"status":204,"url":"/peerconnections/b0b9d702-389c-4042-a1f5-b965187d4af6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"},"level":"info","message":"Successfully finished experiment","requestID":"513006991eb4e629d43d4d2da87535db"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ee8ea70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0907448f-ecd1-40b1-832b-be319ca3d5cd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac12b483-9e93-41c6-bcc7-c1643e1dc252","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.1254358} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.831292,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ee8ea70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8ee8ea70-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbd4dc912-84ea-4cc3-8727-b49854436bfd': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbd4dc912-84ea-4cc3-8727-b49854436bfd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"2d6e9efe-b7dd-48be-a74f-ad8c1dd9cd2e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.126766} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a95188e-e656-4151-8f44-17177f6c94ee","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.1271176} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"513006991eb4e629d43d4d2da87535db","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ee8ea70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/signaling 200 13ms","method":"POST","requestID":"8ee8ea70-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/0907448f-ecd1-40b1-832b-be319ca3d5cd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8eeb3460-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4ac171c-f027-45e8-8a0f-9c622aee9ab7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"650cc382-599d-419c-9e1e-bf355edd9e6f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.1387422} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.944778,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8eeb3460-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7","object_type":"device","rebac_allow":false,"scope_allow":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":"8eeb3460-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8eeb3460-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/signaling 200 9ms","method":"POST","requestID":"8eeb3460-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd","requestID":"513006991eb4e629d43d4d2da87535db"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.262","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"513006991eb4e629d43d4d2da87535db"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1866","request_time":"0.717","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"1a6a252bbdd905019106328c72c2fcbb"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1867","request_time":"0.727","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"d911f1e662fd8273061b8a0fb4c7ecd5"} experiment-1 | {"level":"info","message":"DELETE /experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd 204 260ms","method":"DELETE","requestID":"513006991eb4e629d43d4d2da87535db","responseTime":260,"status":204,"url":"/experiments/bd4dc912-84ea-4cc3-8727-b49854436bfd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 235ms","method":"POST","requestID":"f0391cae4280438da5f46761800132f2","responseTime":235,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.239","http_referrer":"","http_user_agent":"node-fetch","requestID":"f0391cae4280438da5f46761800132f2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 235ms","method":"POST","requestID":"70c113a9edec541c6f2add67e94122b9","responseTime":236,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.240","http_referrer":"","http_user_agent":"node-fetch","requestID":"70c113a9edec541c6f2add67e94122b9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"544be597e3c305568acc079cab82851e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"544be597e3c305568acc079cab82851e","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/0907448f-ecd1-40b1-832b-be319ca3d5cd' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"544be597e3c305568acc079cab82851e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.936769,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"544be597e3c305568acc079cab82851e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"544be597e3c305568acc079cab82851e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f4ac171c-f027-45e8-8a0f-9c622aee9ab7' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35eaf5-37bd-4c29-a8b2-439836dd284e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"474d6cac-80bf-4bf6-be45-6272a213c3ed","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.3492312} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"544be597e3c305568acc079cab82851e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f619e97-4eb2-486c-957a-dfe0487845fc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.358218} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"544be597e3c305568acc079cab82851e","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35eaf5-37bd-4c29-a8b2-439836dd284e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"d4403568-fd64-470f-913e-0d39caf8f655","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.369726} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c47ef016-6a96-4eae-a64e-97504b12578c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.370001} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"544be597e3c305568acc079cab82851e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35eaf5-37bd-4c29-a8b2-439836dd284e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35eaf5-37bd-4c29-a8b2-439836dd284e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:04.369703674Z"}]},"request_id":"90daa190-9bf0-43c7-bb3a-9ffdb16f74f7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.376512} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"544be597e3c305568acc079cab82851e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"544be597e3c305568acc079cab82851e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"544be597e3c305568acc079cab82851e"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"544be597e3c305568acc079cab82851e","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"e14217eb6e8d2409e64434a19568cb0c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e14217eb6e8d2409e64434a19568cb0c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e14217eb6e8d2409e64434a19568cb0c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.895786,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e14217eb6e8d2409e64434a19568cb0c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e14217eb6e8d2409e64434a19568cb0c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11ca4aa-3151-46d2-a0ee-7962e6eb9b3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"20266ccd-a6f9-4a60-b58d-ec23cd7367ac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.4033904} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e14217eb6e8d2409e64434a19568cb0c","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e20ba0e-3a4f-4cfb-921f-d8ef56c5ec45","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.4105127} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e14217eb6e8d2409e64434a19568cb0c","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11ca4aa-3151-46d2-a0ee-7962e6eb9b3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"c49e151a-3876-43c4-bdea-a548cfb097d3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.4277039} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69746479-0484-42ef-8e03-cb8dd5b69e27","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.4279869} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"e14217eb6e8d2409e64434a19568cb0c","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11ca4aa-3151-46d2-a0ee-7962e6eb9b3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11ca4aa-3151-46d2-a0ee-7962e6eb9b3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:04.427681067Z"}]},"request_id":"7be707ea-4357-42fb-b84d-ff23d9f178c2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.4333904} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e14217eb6e8d2409e64434a19568cb0c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e14217eb6e8d2409e64434a19568cb0c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e14217eb6e8d2409e64434a19568cb0c"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"e14217eb6e8d2409e64434a19568cb0c","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"802a0c1c5fde9aba23d393a299a605cb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"802a0c1c5fde9aba23d393a299a605cb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"802a0c1c5fde9aba23d393a299a605cb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.162302,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"802a0c1c5fde9aba23d393a299a605cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"802a0c1c5fde9aba23d393a299a605cb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17bc3dad-5570-4fbc-8965-e5e7a1f2ce72","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1a8f602d-87a7-4c4b-93c7-212b70b0aa3c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.4642577} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"802a0c1c5fde9aba23d393a299a605cb","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8f4803c-417c-4825-bcc3-16504bf02000","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.4711637} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"802a0c1c5fde9aba23d393a299a605cb","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17bc3dad-5570-4fbc-8965-e5e7a1f2ce72","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"3cf697f2-f668-47b9-8854-c275eb44e334","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.4830256} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36c68df2-ae80-4abf-93e1-dba7b4fb6487","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.4832373} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"802a0c1c5fde9aba23d393a299a605cb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17bc3dad-5570-4fbc-8965-e5e7a1f2ce72","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17bc3dad-5570-4fbc-8965-e5e7a1f2ce72","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:04.483009824Z"}]},"request_id":"2799bcb5-9c66-463b-967e-418e7e332797","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.4874458} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"802a0c1c5fde9aba23d393a299a605cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"802a0c1c5fde9aba23d393a299a605cb"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"802a0c1c5fde9aba23d393a299a605cb","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"802a0c1c5fde9aba23d393a299a605cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"a9c91852c79bfad79a82fb911643971e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a9c91852c79bfad79a82fb911643971e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a9c91852c79bfad79a82fb911643971e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.145115,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9c91852c79bfad79a82fb911643971e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a9c91852c79bfad79a82fb911643971e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ff0f36f-8b88-4455-b8ed-7557b0ac5418","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6629d81d-6af8-4e9e-a651-057ffd0b3801","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.5167372} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a9c91852c79bfad79a82fb911643971e","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f70c970-3308-4d83-b4ee-2f3f6de1177c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.5222666} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a9c91852c79bfad79a82fb911643971e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ff0f36f-8b88-4455-b8ed-7557b0ac5418","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"da33c824-2c1c-4d4a-94cf-2b14f37b4a74","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.5407536} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bfc609f1-7b09-4fd9-8e0f-9c0313a3c59c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.5409448} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"a9c91852c79bfad79a82fb911643971e","responseTime":26,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ff0f36f-8b88-4455-b8ed-7557b0ac5418","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ff0f36f-8b88-4455-b8ed-7557b0ac5418","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:04.540740038Z"}]},"request_id":"cea51907-3bf1-4ab4-b7f0-8bceb59d8cd7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.5520732} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a9c91852c79bfad79a82fb911643971e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a9c91852c79bfad79a82fb911643971e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a9c91852c79bfad79a82fb911643971e"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"a9c91852c79bfad79a82fb911643971e","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"e76a20f75355961b4a13ec19372cb1c8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e76a20f75355961b4a13ec19372cb1c8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e76a20f75355961b4a13ec19372cb1c8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.207355,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e76a20f75355961b4a13ec19372cb1c8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e76a20f75355961b4a13ec19372cb1c8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5768420e-c840-4dbe-b63c-a61be03a0fd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bc78032d-c331-472e-9d1f-9f874eac638c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.5870366} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e76a20f75355961b4a13ec19372cb1c8","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25c1c2b8-986e-4691-b943-7e2e539ebd5a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.5944154} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e76a20f75355961b4a13ec19372cb1c8","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5768420e-c840-4dbe-b63c-a61be03a0fd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a8d5f63a-aadf-4e11-a386-bddc1ba819f0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.6070864} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5120afa-ed7b-4caa-9c1c-b3c52b090654","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.6072402} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"e76a20f75355961b4a13ec19372cb1c8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5768420e-c840-4dbe-b63c-a61be03a0fd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5768420e-c840-4dbe-b63c-a61be03a0fd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:04.607060926Z"}]},"request_id":"abb4f4d5-a92c-458e-a268-eba5e163d59b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.6141224} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e76a20f75355961b4a13ec19372cb1c8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e76a20f75355961b4a13ec19372cb1c8"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e76a20f75355961b4a13ec19372cb1c8"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"e76a20f75355961b4a13ec19372cb1c8","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"0e5661d2644377ad56d43a94a9ac985e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0e5661d2644377ad56d43a94a9ac985e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0e5661d2644377ad56d43a94a9ac985e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.208924,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0e5661d2644377ad56d43a94a9ac985e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0e5661d2644377ad56d43a94a9ac985e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4947ce56-bf55-4bd2-a857-cf21411225b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a7dc4ecb-7987-40e3-9256-15b15e0588b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.6496015} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e5661d2644377ad56d43a94a9ac985e","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d8a292c-83e6-4faf-89ef-5bc416273da1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.6543841} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0e5661d2644377ad56d43a94a9ac985e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4947ce56-bf55-4bd2-a857-cf21411225b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"b4bfc523-25e6-43aa-b83d-d8295816394d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.6720002} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e8a9e3a-e275-4562-b6c4-eefbf74ced48","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.6721275} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"0e5661d2644377ad56d43a94a9ac985e","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4947ce56-bf55-4bd2-a857-cf21411225b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4947ce56-bf55-4bd2-a857-cf21411225b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:04.671985371Z"}]},"request_id":"c165c93a-dd8e-410e-8117-9c2aec0c2d6a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.6788325} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0e5661d2644377ad56d43a94a9ac985e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0e5661d2644377ad56d43a94a9ac985e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e5661d2644377ad56d43a94a9ac985e"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"0e5661d2644377ad56d43a94a9ac985e","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"c5f9f5b948508064711cf36addaf5ceb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c5f9f5b948508064711cf36addaf5ceb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c5f9f5b948508064711cf36addaf5ceb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.329288,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c5f9f5b948508064711cf36addaf5ceb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c5f9f5b948508064711cf36addaf5ceb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41a2f661-9f15-40ab-96ab-f147b4e811d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"514341e0-2824-498a-9f94-0858ba0b9e06","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.7159984} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c5f9f5b948508064711cf36addaf5ceb","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db0160a8-eaa1-4858-a77d-d1afb84956cc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.7236516} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c5f9f5b948508064711cf36addaf5ceb","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41a2f661-9f15-40ab-96ab-f147b4e811d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"4d536376-df23-424d-96a9-792c2da37a74","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.736882} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c064c84-53e2-49aa-b09e-b928d940a581","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.737021} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"c5f9f5b948508064711cf36addaf5ceb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41a2f661-9f15-40ab-96ab-f147b4e811d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41a2f661-9f15-40ab-96ab-f147b4e811d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:04.736858046Z"}]},"request_id":"0b4ce401-4d43-4e68-acbd-430224c78dad","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.7426927} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c5f9f5b948508064711cf36addaf5ceb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c5f9f5b948508064711cf36addaf5ceb"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +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":"c5f9f5b948508064711cf36addaf5ceb"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"c5f9f5b948508064711cf36addaf5ceb","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"5ecabcc97cbc619c2120a6ad6650d130"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5ecabcc97cbc619c2120a6ad6650d130","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5ecabcc97cbc619c2120a6ad6650d130"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.847911,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5ecabcc97cbc619c2120a6ad6650d130","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5ecabcc97cbc619c2120a6ad6650d130","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9169517b-7db8-4152-b70b-98a00fe7c1b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"454c4610-1e3d-4c44-835a-362254577402","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.7768326} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5ecabcc97cbc619c2120a6ad6650d130","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6438a082-0ff1-4b60-aa8c-e5b7c405578f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.7844038} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"5ecabcc97cbc619c2120a6ad6650d130","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9169517b-7db8-4152-b70b-98a00fe7c1b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"f574a95c-a489-4690-ab9f-8cb7516083fc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.8037097} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79f57c84-74fa-4ead-86a7-cb6f50b660fb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.8039222} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"5ecabcc97cbc619c2120a6ad6650d130","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9169517b-7db8-4152-b70b-98a00fe7c1b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9169517b-7db8-4152-b70b-98a00fe7c1b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:04.803682902Z"}]},"request_id":"1b197ad8-78f3-4112-95a1-6377fb3908d0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.810203} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5ecabcc97cbc619c2120a6ad6650d130","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5ecabcc97cbc619c2120a6ad6650d130"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ecabcc97cbc619c2120a6ad6650d130"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"5ecabcc97cbc619c2120a6ad6650d130","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"9359846fd32fdef15b8b6c83c4c3bf8f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9359846fd32fdef15b8b6c83c4c3bf8f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9359846fd32fdef15b8b6c83c4c3bf8f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.680351,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9359846fd32fdef15b8b6c83c4c3bf8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9359846fd32fdef15b8b6c83c4c3bf8f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5618bad-1adb-47ac-8c18-bd8f66f811a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"677f8bef-5a2e-49ee-8b88-57d0a3200abd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.8485703} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"9359846fd32fdef15b8b6c83c4c3bf8f","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ee417b3-aaaf-488b-9112-bb3892d0ddb5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.8571758} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"9359846fd32fdef15b8b6c83c4c3bf8f","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5618bad-1adb-47ac-8c18-bd8f66f811a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"294ef031-5b3e-429e-bc86-075d2ab206b7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.8705723} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4efe1164-650f-43c5-8dc7-0184ca78b24a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.8709238} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"9359846fd32fdef15b8b6c83c4c3bf8f","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5618bad-1adb-47ac-8c18-bd8f66f811a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5618bad-1adb-47ac-8c18-bd8f66f811a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:04.870541810Z"}]},"request_id":"e63afa1c-0680-4587-898f-319b8a157208","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.8776414} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9359846fd32fdef15b8b6c83c4c3bf8f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9359846fd32fdef15b8b6c83c4c3bf8f"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9359846fd32fdef15b8b6c83c4c3bf8f"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"9359846fd32fdef15b8b6c83c4c3bf8f","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"24c3580df456a0b7630553aa11d73931"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"24c3580df456a0b7630553aa11d73931","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"24c3580df456a0b7630553aa11d73931"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.084585,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"24c3580df456a0b7630553aa11d73931","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"24c3580df456a0b7630553aa11d73931","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fca4b0ead-291c-43ca-adff-84459591a86a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ddc25f58-b6e9-4ac2-8711-01a8d452c803","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.9137354} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"24c3580df456a0b7630553aa11d73931","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75c2223f-dd22-41cf-82af-ff6b4c5a9e6d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.921791} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"24c3580df456a0b7630553aa11d73931","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fca4b0ead-291c-43ca-adff-84459591a86a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"eb30a6dd-f4c7-47c1-9edc-4feade0c7a14","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.939846} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ba5d6da-713c-4de7-b59d-1b03c905e1df","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.940278} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"24c3580df456a0b7630553aa11d73931","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fca4b0ead-291c-43ca-adff-84459591a86a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fca4b0ead-291c-43ca-adff-84459591a86a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:04.939819855Z"}]},"request_id":"e0f838cc-91b2-45ef-83c5-cc85b9dd1482","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.947399} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"24c3580df456a0b7630553aa11d73931","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"24c3580df456a0b7630553aa11d73931"} gateway-1 | {"time_local":"24/Sep/2024:23:56:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24c3580df456a0b7630553aa11d73931"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"24c3580df456a0b7630553aa11d73931","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg","level":"info","message":"auth send jwt","requestID":"2c03339cb47c8457eebb00806975c2d8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2c03339cb47c8457eebb00806975c2d8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2c03339cb47c8457eebb00806975c2d8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.285101,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2c03339cb47c8457eebb00806975c2d8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222164,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NH0.BH_-qpBP4gjfMKXxRoj4SKQco3p7ldn72y6vpRxRfLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2c03339cb47c8457eebb00806975c2d8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d0a603a-2d38-4035-b020-15da8b70bc95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"70ed146b-5d7b-4842-a8b8-f8ef17508e6b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.9895248} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"2c03339cb47c8457eebb00806975c2d8","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5edb66e5-0ec9-4971-b68a-f391a1185ea9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222164.9970863} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"2c03339cb47c8457eebb00806975c2d8","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d0a603a-2d38-4035-b020-15da8b70bc95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"f1598bad-343b-4fdb-bd3a-247aff328863","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.0111365} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"beadfdc4-f793-4a7a-b898-9dee25192965","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.0113444} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"2c03339cb47c8457eebb00806975c2d8","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d0a603a-2d38-4035-b020-15da8b70bc95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d0a603a-2d38-4035-b020-15da8b70bc95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.011108321Z"}]},"request_id":"cc000122-2e7e-416e-956e-5864d135d7b6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.019944} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"2c03339cb47c8457eebb00806975c2d8","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2c03339cb47c8457eebb00806975c2d8"} gateway-1 | {"time_local":"24/Sep/2024:23:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c03339cb47c8457eebb00806975c2d8"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"2c03339cb47c8457eebb00806975c2d8","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc","level":"info","message":"auth send jwt","requestID":"b9d40927d0eb6d2310e625d41c86db20"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b9d40927d0eb6d2310e625d41c86db20","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b9d40927d0eb6d2310e625d41c86db20"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.039665,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b9d40927d0eb6d2310e625d41c86db20","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9d40927d0eb6d2310e625d41c86db20","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F710f8115-1a04-4895-bb92-b506f33b01b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"230998f5-d697-436a-a5f8-b197c5bd5601","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.0531762} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b9d40927d0eb6d2310e625d41c86db20","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"225b4c1d-5a13-4d34-8816-5fbd975a57ea","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.0601141} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b9d40927d0eb6d2310e625d41c86db20","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F710f8115-1a04-4895-bb92-b506f33b01b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"3f5b29a3-73ea-4562-9521-559d3f19a648","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.0778651} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a462a7e8-dc47-4393-850a-649c50d2aa36","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.0783348} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"b9d40927d0eb6d2310e625d41c86db20","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F710f8115-1a04-4895-bb92-b506f33b01b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F710f8115-1a04-4895-bb92-b506f33b01b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.077836495Z"}]},"request_id":"b39bc7e6-6184-49e0-9206-df6ecc3ccf30","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.083543} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b9d40927d0eb6d2310e625d41c86db20","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b9d40927d0eb6d2310e625d41c86db20"} gateway-1 | {"time_local":"24/Sep/2024:23:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b9d40927d0eb6d2310e625d41c86db20"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"b9d40927d0eb6d2310e625d41c86db20","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc","level":"info","message":"auth send jwt","requestID":"602953d06805053bd4baebbfecc5d8dc"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"602953d06805053bd4baebbfecc5d8dc","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"602953d06805053bd4baebbfecc5d8dc"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.134055,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"602953d06805053bd4baebbfecc5d8dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"602953d06805053bd4baebbfecc5d8dc","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe25a2d3d-0378-4d73-b428-090b37bc2c72","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"575bcb6f-be4f-4091-a81b-df055a405dbf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.1187928} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"602953d06805053bd4baebbfecc5d8dc","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6f0d748-b77d-486f-adba-8dfd47b0cea0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.124768} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"602953d06805053bd4baebbfecc5d8dc","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe25a2d3d-0378-4d73-b428-090b37bc2c72","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"fc0656cc-5d62-4ed8-a329-10e772f241ea","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.1378043} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"109cb33c-eb6a-4199-8ed1-180be150be86","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.1380117} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"602953d06805053bd4baebbfecc5d8dc","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe25a2d3d-0378-4d73-b428-090b37bc2c72","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe25a2d3d-0378-4d73-b428-090b37bc2c72","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.137778027Z"}]},"request_id":"63c2300c-2cda-479c-8272-a1fb7865140c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.1434066} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"602953d06805053bd4baebbfecc5d8dc","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"602953d06805053bd4baebbfecc5d8dc"} gateway-1 | {"time_local":"24/Sep/2024:23:56:05 +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":"602953d06805053bd4baebbfecc5d8dc"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"602953d06805053bd4baebbfecc5d8dc","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc","level":"info","message":"auth send jwt","requestID":"533396da65877a4998c6f1f38687f0ec"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"533396da65877a4998c6f1f38687f0ec","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"533396da65877a4998c6f1f38687f0ec"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.394825,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d0a603a-2d38-4035-b020-15da8b70bc95","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"533396da65877a4998c6f1f38687f0ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1d0a603a-2d38-4035-b020-15da8b70bc95","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"533396da65877a4998c6f1f38687f0ec","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d0a603a-2d38-4035-b020-15da8b70bc95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d0a603a-2d38-4035-b020-15da8b70bc95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.011108321Z"}]},"request_id":"948119c6-a1bc-4ff3-97dc-8cbe13f2d1b0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.1745415} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"533396da65877a4998c6f1f38687f0ec","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80118095-1fc1-422a-a451-bc6b116aecff","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.1822834} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"533396da65877a4998c6f1f38687f0ec","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d0a603a-2d38-4035-b020-15da8b70bc95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d0a603a-2d38-4035-b020-15da8b70bc95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.011108321Z"}]},"request_id":"3edbd23e-896d-4bae-bb1d-c24890b8ad27","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.1930988} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"533396da65877a4998c6f1f38687f0ec","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"533396da65877a4998c6f1f38687f0ec"} gateway-1 | {"time_local":"24/Sep/2024:23:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1d0a603a-2d38-4035-b020-15da8b70bc95? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"533396da65877a4998c6f1f38687f0ec"} device-1 | {"level":"info","message":"PATCH /devices/1d0a603a-2d38-4035-b020-15da8b70bc95? 200 37ms","method":"PATCH","requestID":"533396da65877a4998c6f1f38687f0ec","responseTime":37,"status":200,"url":"/devices/1d0a603a-2d38-4035-b020-15da8b70bc95?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc","level":"info","message":"auth send jwt","requestID":"0a9ec090c174f23fdb2f327b3b6582cc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0a9ec090c174f23fdb2f327b3b6582cc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"0a9ec090c174f23fdb2f327b3b6582cc"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206808,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/710f8115-1a04-4895-bb92-b506f33b01b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0a9ec090c174f23fdb2f327b3b6582cc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/710f8115-1a04-4895-bb92-b506f33b01b5","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0a9ec090c174f23fdb2f327b3b6582cc","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F710f8115-1a04-4895-bb92-b506f33b01b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F710f8115-1a04-4895-bb92-b506f33b01b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.077836495Z"}]},"request_id":"b9c07c82-e221-4e3a-9b08-c53370cc8554","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.2222786} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"0a9ec090c174f23fdb2f327b3b6582cc","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b1df5dd-8d1a-4cde-8332-806bd9da8cf9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.2310946} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"0a9ec090c174f23fdb2f327b3b6582cc","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F710f8115-1a04-4895-bb92-b506f33b01b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F710f8115-1a04-4895-bb92-b506f33b01b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.077836495Z"}]},"request_id":"10a5a590-606a-4159-928f-842694cdf0f6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.2474551} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"0a9ec090c174f23fdb2f327b3b6582cc","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"0a9ec090c174f23fdb2f327b3b6582cc"} gateway-1 | {"time_local":"24/Sep/2024:23:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/710f8115-1a04-4895-bb92-b506f33b01b5? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a9ec090c174f23fdb2f327b3b6582cc"} device-1 | {"level":"info","message":"PATCH /devices/710f8115-1a04-4895-bb92-b506f33b01b5? 200 45ms","method":"PATCH","requestID":"0a9ec090c174f23fdb2f327b3b6582cc","responseTime":45,"status":200,"url":"/devices/710f8115-1a04-4895-bb92-b506f33b01b5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc","level":"info","message":"auth send jwt","requestID":"665e67bc0133848284d2bbf8c1fab412"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"665e67bc0133848284d2bbf8c1fab412","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"665e67bc0133848284d2bbf8c1fab412"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.42384,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e25a2d3d-0378-4d73-b428-090b37bc2c72","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"665e67bc0133848284d2bbf8c1fab412","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e25a2d3d-0378-4d73-b428-090b37bc2c72","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"665e67bc0133848284d2bbf8c1fab412","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe25a2d3d-0378-4d73-b428-090b37bc2c72","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe25a2d3d-0378-4d73-b428-090b37bc2c72","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.137778027Z"}]},"request_id":"d6a8608c-fead-4256-bc4c-1ef7224a4233","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.277988} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"665e67bc0133848284d2bbf8c1fab412","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63f17979-2748-4af8-bb1f-2cd35d107bfe","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.2858863} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"665e67bc0133848284d2bbf8c1fab412","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe25a2d3d-0378-4d73-b428-090b37bc2c72","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe25a2d3d-0378-4d73-b428-090b37bc2c72","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.137778027Z"}]},"request_id":"d8892b0d-da5a-4b21-bc39-6ac6a47e375e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.298829} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"665e67bc0133848284d2bbf8c1fab412","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"665e67bc0133848284d2bbf8c1fab412"} gateway-1 | {"time_local":"24/Sep/2024:23:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e25a2d3d-0378-4d73-b428-090b37bc2c72? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"665e67bc0133848284d2bbf8c1fab412"} device-1 | {"level":"info","message":"PATCH /devices/e25a2d3d-0378-4d73-b428-090b37bc2c72? 200 41ms","method":"PATCH","requestID":"665e67bc0133848284d2bbf8c1fab412","responseTime":41,"status":200,"url":"/devices/e25a2d3d-0378-4d73-b428-090b37bc2c72?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc","level":"info","message":"auth send jwt","requestID":"a2f2902b14490ad304592e9ba38a222c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a2f2902b14490ad304592e9ba38a222c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2f2902b14490ad304592e9ba38a222c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.332963,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d0a603a-2d38-4035-b020-15da8b70bc95","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a2f2902b14490ad304592e9ba38a222c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1d0a603a-2d38-4035-b020-15da8b70bc95","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a2f2902b14490ad304592e9ba38a222c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d0a603a-2d38-4035-b020-15da8b70bc95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d0a603a-2d38-4035-b020-15da8b70bc95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.011108321Z"}]},"request_id":"decdb43b-4aab-426a-9e65-e1e15bf789e3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.3252454} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a2f2902b14490ad304592e9ba38a222c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.291324,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172749,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58662","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58662","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.300005,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c35eaf5-37bd-4c29-a8b2-439836dd284e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a2f2902b14490ad304592e9ba38a222c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6c35eaf5-37bd-4c29-a8b2-439836dd284e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"a2f2902b14490ad304592e9ba38a222c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e11ca4aa-3151-46d2-a0ee-7962e6eb9b3c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a2f2902b14490ad304592e9ba38a222c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e11ca4aa-3151-46d2-a0ee-7962e6eb9b3c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"a2f2902b14490ad304592e9ba38a222c","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/17bc3dad-5570-4fbc-8965-e5e7a1f2ce72","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a2f2902b14490ad304592e9ba38a222c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/17bc3dad-5570-4fbc-8965-e5e7a1f2ce72","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"a2f2902b14490ad304592e9ba38a222c","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44362","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44362","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.316257,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/710f8115-1a04-4895-bb92-b506f33b01b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a2f2902b14490ad304592e9ba38a222c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/710f8115-1a04-4895-bb92-b506f33b01b5","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"a2f2902b14490ad304592e9ba38a222c","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2f2902b14490ad304592e9ba38a222c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d0a603a-2d38-4035-b020-15da8b70bc95? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2f2902b14490ad304592e9ba38a222c"} device-1 | {"level":"info","message":"GET /devices/1d0a603a-2d38-4035-b020-15da8b70bc95? 200 42ms","method":"GET","requestID":"a2f2902b14490ad304592e9ba38a222c","responseTime":42,"status":200,"url":"/devices/1d0a603a-2d38-4035-b020-15da8b70bc95?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc","level":"info","message":"auth send jwt","requestID":"ce37adc84781ab44b820cfcfff3194a8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ce37adc84781ab44b820cfcfff3194a8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce37adc84781ab44b820cfcfff3194a8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.252667,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/710f8115-1a04-4895-bb92-b506f33b01b5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ce37adc84781ab44b820cfcfff3194a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/710f8115-1a04-4895-bb92-b506f33b01b5","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ce37adc84781ab44b820cfcfff3194a8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F710f8115-1a04-4895-bb92-b506f33b01b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F710f8115-1a04-4895-bb92-b506f33b01b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.077836495Z"}]},"request_id":"30cb4749-f025-436e-a20e-68725d29a1f4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.3755915} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ce37adc84781ab44b820cfcfff3194a8","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.163956,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.102138,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58662","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58662","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.951753,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44362","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ff0f36f-8b88-4455-b8ed-7557b0ac5418","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ce37adc84781ab44b820cfcfff3194a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8ff0f36f-8b88-4455-b8ed-7557b0ac5418","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"ce37adc84781ab44b820cfcfff3194a8","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5768420e-c840-4dbe-b63c-a61be03a0fd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ce37adc84781ab44b820cfcfff3194a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5768420e-c840-4dbe-b63c-a61be03a0fd6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"ce37adc84781ab44b820cfcfff3194a8","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4947ce56-bf55-4bd2-a857-cf21411225b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ce37adc84781ab44b820cfcfff3194a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4947ce56-bf55-4bd2-a857-cf21411225b1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"ce37adc84781ab44b820cfcfff3194a8","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44362","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188124,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41a2f661-9f15-40ab-96ab-f147b4e811d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ce37adc84781ab44b820cfcfff3194a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/41a2f661-9f15-40ab-96ab-f147b4e811d1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"ce37adc84781ab44b820cfcfff3194a8","responseTime":13,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44374","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.841093,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e25a2d3d-0378-4d73-b428-090b37bc2c72","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ce37adc84781ab44b820cfcfff3194a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e25a2d3d-0378-4d73-b428-090b37bc2c72","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ce37adc84781ab44b820cfcfff3194a8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44374","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.506709,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d0a603a-2d38-4035-b020-15da8b70bc95","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ce37adc84781ab44b820cfcfff3194a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1d0a603a-2d38-4035-b020-15da8b70bc95","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"ce37adc84781ab44b820cfcfff3194a8","responseTime":13,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce37adc84781ab44b820cfcfff3194a8"} gateway-1 | {"time_local":"24/Sep/2024:23:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/710f8115-1a04-4895-bb92-b506f33b01b5? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce37adc84781ab44b820cfcfff3194a8"} device-1 | {"level":"info","message":"GET /devices/710f8115-1a04-4895-bb92-b506f33b01b5? 200 55ms","method":"GET","requestID":"ce37adc84781ab44b820cfcfff3194a8","responseTime":55,"status":200,"url":"/devices/710f8115-1a04-4895-bb92-b506f33b01b5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc","level":"info","message":"auth send jwt","requestID":"005fedac3ad387ecb774cf79b5fc2371"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"005fedac3ad387ecb774cf79b5fc2371","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"005fedac3ad387ecb774cf79b5fc2371"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.15115,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e25a2d3d-0378-4d73-b428-090b37bc2c72","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"005fedac3ad387ecb774cf79b5fc2371","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e25a2d3d-0378-4d73-b428-090b37bc2c72","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"005fedac3ad387ecb774cf79b5fc2371","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe25a2d3d-0378-4d73-b428-090b37bc2c72","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe25a2d3d-0378-4d73-b428-090b37bc2c72","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.137778027Z"}]},"request_id":"441ed762-4dce-4bd9-823f-23ce5b2a3c22","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.439053} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"005fedac3ad387ecb774cf79b5fc2371","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.658269,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.307848,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58662","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58662","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.099412,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44362","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9169517b-7db8-4152-b70b-98a00fe7c1b4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"005fedac3ad387ecb774cf79b5fc2371","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/9169517b-7db8-4152-b70b-98a00fe7c1b4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"005fedac3ad387ecb774cf79b5fc2371","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5618bad-1adb-47ac-8c18-bd8f66f811a2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"005fedac3ad387ecb774cf79b5fc2371","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f5618bad-1adb-47ac-8c18-bd8f66f811a2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"005fedac3ad387ecb774cf79b5fc2371","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ca4b0ead-291c-43ca-adff-84459591a86a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"005fedac3ad387ecb774cf79b5fc2371","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ca4b0ead-291c-43ca-adff-84459591a86a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"005fedac3ad387ecb774cf79b5fc2371","responseTime":13,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:44362","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.704852,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d0a603a-2d38-4035-b020-15da8b70bc95","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"005fedac3ad387ecb774cf79b5fc2371","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1d0a603a-2d38-4035-b020-15da8b70bc95","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","method":"POST","requestID":"005fedac3ad387ecb774cf79b5fc2371","responseTime":19,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"005fedac3ad387ecb774cf79b5fc2371"} gateway-1 | {"time_local":"24/Sep/2024:23:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e25a2d3d-0378-4d73-b428-090b37bc2c72? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"005fedac3ad387ecb774cf79b5fc2371"} device-1 | {"level":"info","message":"GET /devices/e25a2d3d-0378-4d73-b428-090b37bc2c72? 200 55ms","method":"GET","requestID":"005fedac3ad387ecb774cf79b5fc2371","responseTime":55,"status":200,"url":"/devices/e25a2d3d-0378-4d73-b428-090b37bc2c72?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc","level":"info","message":"auth send jwt","requestID":"6b157f58bac09f3b3b2019907d044bc8"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6b157f58bac09f3b3b2019907d044bc8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6b157f58bac09f3b3b2019907d044bc8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.289975,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6b157f58bac09f3b3b2019907d044bc8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6b157f58bac09f3b3b2019907d044bc8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3f393a88-7545-4ec6-a05c-684e76d850b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.5166676} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6b157f58bac09f3b3b2019907d044bc8","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b97dddc7-0ff4-49a4-a798-2a9da3bd0640","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.524112} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"6b157f58bac09f3b3b2019907d044bc8","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a1868bf7-c790-402c-b191-938cb2d9926e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.5371227} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"061cc441-e66d-4685-bb05-0873838c6a5a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.5375512} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"6b157f58bac09f3b3b2019907d044bc8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.537086576Z"}]},"request_id":"4f5ff00d-5a87-4d42-956c-d882363d7643","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.5436459} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6b157f58bac09f3b3b2019907d044bc8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6b157f58bac09f3b3b2019907d044bc8"} gateway-1 | {"time_local":"24/Sep/2024:23:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b157f58bac09f3b3b2019907d044bc8"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"6b157f58bac09f3b3b2019907d044bc8","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc","level":"info","message":"auth send jwt","requestID":"c891282bf3563ec21ccd3f43e504940f"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c891282bf3563ec21ccd3f43e504940f","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c891282bf3563ec21ccd3f43e504940f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.141988,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c891282bf3563ec21ccd3f43e504940f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c891282bf3563ec21ccd3f43e504940f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d268221-72c4-41fd-9e11-ee9b0e0eaaef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4e3e100a-fda7-43c0-af5a-2fb49e95a29b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.5819607} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c891282bf3563ec21ccd3f43e504940f","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39e412a8-cc3a-4184-8564-2354858c4201","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.5865917} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c891282bf3563ec21ccd3f43e504940f","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d268221-72c4-41fd-9e11-ee9b0e0eaaef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"8719c7cc-2e85-42fa-8414-95e446d129e4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.5981154} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2db846b-d676-42d2-9c5b-ef1506c99d4d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.5983179} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"c891282bf3563ec21ccd3f43e504940f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d268221-72c4-41fd-9e11-ee9b0e0eaaef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d268221-72c4-41fd-9e11-ee9b0e0eaaef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.598092826Z"}]},"request_id":"94d27c63-5666-439f-8ca5-06b666376ad7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.6034606} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c891282bf3563ec21ccd3f43e504940f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c891282bf3563ec21ccd3f43e504940f"} gateway-1 | {"time_local":"24/Sep/2024:23:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"706","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c891282bf3563ec21ccd3f43e504940f"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"c891282bf3563ec21ccd3f43e504940f","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc","level":"info","message":"auth send jwt","requestID":"bd28d164d933ac7e15da7830e8d439c8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd28d164d933ac7e15da7830e8d439c8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bd28d164d933ac7e15da7830e8d439c8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.348259,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bd28d164d933ac7e15da7830e8d439c8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222165,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2NX0.wgV8h2EU3uDpQd_MD7FLHwG-Dw8nQGVbn9-4fI-mKGc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bd28d164d933ac7e15da7830e8d439c8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"51ef081a-6a53-4bad-85f5-1467fc1df0dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.6411417} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bd28d164d933ac7e15da7830e8d439c8","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18bdae05-cd7f-44d2-88b3-bd574b451b78","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.648369} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"bd28d164d933ac7e15da7830e8d439c8","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"573af871-a181-4789-b7b1-0eec65fb7212","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.6604524} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72b7332e-8e5d-4cb2-9897-7d3b8fa3b528","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.660526} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"bd28d164d933ac7e15da7830e8d439c8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.660436202Z"}]},"request_id":"243defc1-b05c-4241-8bc7-ee8aebb92235","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222165.6654115} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bd28d164d933ac7e15da7830e8d439c8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bd28d164d933ac7e15da7830e8d439c8"} gateway-1 | {"time_local":"24/Sep/2024:23:56:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd28d164d933ac7e15da7830e8d439c8"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"bd28d164d933ac7e15da7830e8d439c8","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ec0c28a809f183d234245c2e0e37d0cd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ec0c28a809f183d234245c2e0e37d0cd","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/05ad876d-94c2-4615-865a-6a4eab821740/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":"ec0c28a809f183d234245c2e0e37d0cd"} device-1 | {"level":"info","message":"OPTIONS /devices/05ad876d-94c2-4615-865a-6a4eab821740/websocket 200 1ms","method":"OPTIONS","requestID":"ec0c28a809f183d234245c2e0e37d0cd","responseTime":1,"status":200,"url":"/devices/05ad876d-94c2-4615-865a-6a4eab821740/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8","level":"info","message":"auth send jwt","requestID":"8ad9ce5eb04850aa97ce191fedd262fe"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8ad9ce5eb04850aa97ce191fedd262fe","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8ad9ce5eb04850aa97ce191fedd262fe"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.905228,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ad9ce5eb04850aa97ce191fedd262fe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2498c5144a96cfeb5de649a0586759dd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 /authorize 200 3ms","method":"POST","requestID":"8ad9ce5eb04850aa97ce191fedd262fe","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2498c5144a96cfeb5de649a0586759dd","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/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":"2498c5144a96cfeb5de649a0586759dd"} device-1 | {"level":"info","message":"OPTIONS /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/websocket 200 1ms","method":"OPTIONS","requestID":"2498c5144a96cfeb5de649a0586759dd","responseTime":1,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8","level":"info","message":"auth send jwt","requestID":"60aafdb45c58d45f74886a6bc8e9a508"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"60aafdb45c58d45f74886a6bc8e9a508","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"60aafdb45c58d45f74886a6bc8e9a508"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742782,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"60aafdb45c58d45f74886a6bc8e9a508","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8ad9ce5eb04850aa97ce191fedd262fe"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"60aafdb45c58d45f74886a6bc8e9a508","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/05ad876d-94c2-4615-865a-6a4eab821740/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":"8ad9ce5eb04850aa97ce191fedd262fe"} device-1 | {"level":"info","message":"POST /devices/05ad876d-94c2-4615-865a-6a4eab821740/websocket 200 21ms","method":"POST","requestID":"8ad9ce5eb04850aa97ce191fedd262fe","responseTime":21,"status":200,"url":"/devices/05ad876d-94c2-4615-865a-6a4eab821740/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"60aafdb45c58d45f74886a6bc8e9a508"} gateway-1 | {"time_local":"24/Sep/2024:23:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/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":"60aafdb45c58d45f74886a6bc8e9a508"} device-1 | {"level":"info","message":"POST /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/websocket 200 23ms","method":"POST","requestID":"60aafdb45c58d45f74886a6bc8e9a508","responseTime":23,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4112eee77dec8e6acff476d1e01e9c5a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4112eee77dec8e6acff476d1e01e9c5a","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/05ad876d-94c2-4615-865a-6a4eab821740? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"4112eee77dec8e6acff476d1e01e9c5a"} device-1 | {"level":"info","message":"OPTIONS /devices/05ad876d-94c2-4615-865a-6a4eab821740? 200 1ms","method":"OPTIONS","requestID":"4112eee77dec8e6acff476d1e01e9c5a","responseTime":1,"status":200,"url":"/devices/05ad876d-94c2-4615-865a-6a4eab821740?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8","level":"info","message":"auth send jwt","requestID":"f3326de90a9c5f0dcdb3bdc0827c9c73"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f3326de90a9c5f0dcdb3bdc0827c9c73","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f3326de90a9c5f0dcdb3bdc0827c9c73"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f325845585bb3dd76990b86c06ecd4cd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f325845585bb3dd76990b86c06ecd4cd","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"f325845585bb3dd76990b86c06ecd4cd"} device-1 | {"level":"info","message":"OPTIONS /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720? 200 1ms","method":"OPTIONS","requestID":"f325845585bb3dd76990b86c06ecd4cd","responseTime":1,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717828,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f3326de90a9c5f0dcdb3bdc0827c9c73","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f3326de90a9c5f0dcdb3bdc0827c9c73","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8","level":"info","message":"auth send jwt","requestID":"2aba954c72d2ca3676a60362e612c686"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2aba954c72d2ca3676a60362e612c686","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2aba954c72d2ca3676a60362e612c686"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.537086576Z"}]},"request_id":"3271ec02-55dd-4902-9899-6479083feb15","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.737805} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f3326de90a9c5f0dcdb3bdc0827c9c73","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671124,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2aba954c72d2ca3676a60362e612c686","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2aba954c72d2ca3676a60362e612c686","responseTime":3,"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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed69abe8-d2ca-4c5f-a2bc-01c6cb574b81","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.7442212} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"f3326de90a9c5f0dcdb3bdc0827c9c73","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.660436202Z"}]},"request_id":"5b95d5cd-4902-4023-bd03-140d187fa8c2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.7487063} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2aba954c72d2ca3676a60362e612c686","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"388b0077-c341-4b52-ab47-9d3a4ff77187","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.7551024} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2aba954c72d2ca3676a60362e612c686","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.537086576Z"}]},"request_id":"9dcce7a9-535b-4d0f-b181-f7f58e4bf2f5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.763064} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f3326de90a9c5f0dcdb3bdc0827c9c73","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f3326de90a9c5f0dcdb3bdc0827c9c73"} gateway-1 | {"time_local":"24/Sep/2024:23:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/05ad876d-94c2-4615-865a-6a4eab821740? HTTP/1.1","status": "200","body_bytes_sent":"845","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":"f3326de90a9c5f0dcdb3bdc0827c9c73"} device-1 | {"level":"info","message":"PATCH /devices/05ad876d-94c2-4615-865a-6a4eab821740? 200 39ms","method":"PATCH","requestID":"f3326de90a9c5f0dcdb3bdc0827c9c73","responseTime":39,"status":200,"url":"/devices/05ad876d-94c2-4615-865a-6a4eab821740?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.660436202Z"}]},"request_id":"af811906-daf2-4a42-b862-6baf1326c821","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.7744145} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2aba954c72d2ca3676a60362e612c686","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2aba954c72d2ca3676a60362e612c686"} device-1 | {"level":"info","message":"PATCH /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720? 200 41ms","method":"PATCH","requestID":"2aba954c72d2ca3676a60362e612c686","responseTime":41,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2aba954c72d2ca3676a60362e612c686"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8","level":"info","message":"auth send jwt","requestID":"40077082750019d564ed0a89e10cda7a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"40077082750019d564ed0a89e10cda7a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"40077082750019d564ed0a89e10cda7a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.093721,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"40077082750019d564ed0a89e10cda7a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"40077082750019d564ed0a89e10cda7a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.660436202Z"}]},"request_id":"c0f6d2a4-a5c8-45a9-ae1d-52c67431fc02","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.79468} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"40077082750019d564ed0a89e10cda7a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"40077082750019d564ed0a89e10cda7a"} device-1 | {"level":"info","message":"GET /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720? 200 13ms","method":"GET","requestID":"40077082750019d564ed0a89e10cda7a","responseTime":13,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40077082750019d564ed0a89e10cda7a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8","level":"info","message":"auth send jwt","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0206057cfc20fc8e0c7939f3deceac7e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.967506,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0206057cfc20fc8e0c7939f3deceac7e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0206057cfc20fc8e0c7939f3deceac7e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Attempting to run experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Attempting to book experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Successfully booked experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91225fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9122add0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.646894,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d268221-72c4-41fd-9e11-ee9b0e0eaaef","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"91225fb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0d268221-72c4-41fd-9e11-ee9b0e0eaaef","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"91225fb0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.51302,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9122add0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9122add0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d268221-72c4-41fd-9e11-ee9b0e0eaaef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d268221-72c4-41fd-9e11-ee9b0e0eaaef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.598092826Z"}]},"request_id":"8cc681c9-7cc9-405b-ae3a-61946cd71a40","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.8589604} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"91225fb0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.660436202Z"}]},"request_id":"73bf48ee-f6a8-46f2-a770-8adba8cab291","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.8596795} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9122add0-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9122add0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720? 200 15ms","method":"GET","requestID":"9122add0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.624096,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"91225fb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"91225fb0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91225fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/0d268221-72c4-41fd-9e11-ee9b0e0eaaef? 200 23ms","method":"GET","requestID":"91225fb0-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/0d268221-72c4-41fd-9e11-ee9b0e0eaaef?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Setting up experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Successfully locked booking for experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Attempting to update booking for experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Successfully updated booking for experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Successfully set up experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91301b50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91306970-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9130b790-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.056666,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Successfully running experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"91301b50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"91301b50-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955396,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"91306970-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"91306970-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.093212,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47ec94c3-e402-4d5a-ab66-8e8942c29d8c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.9516962} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.537086576Z"}]},"request_id":"d836ccb7-5aed-4fff-a037-9a6376761d73","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.9537563} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9130b790-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","object_type":"device","rebac_allow":false,"scope_allow":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":"9130b790-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.660436202Z"}]},"request_id":"2bd107c9-a52c-4aff-bbd0-dffb5844b247","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.9551418} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"91301b50-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"91306970-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9130b790-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/05ad876d-94c2-4615-865a-6a4eab821740/signaling 200 18ms","method":"POST","requestID":"9130b790-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/05ad876d-94c2-4615-865a-6a4eab821740/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91301b50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/05ad876d-94c2-4615-865a-6a4eab821740? 200 22ms","method":"GET","requestID":"91301b50-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/05ad876d-94c2-4615-865a-6a4eab821740?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91306970-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720? 200 21ms","method":"GET","requestID":"91306970-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9133c4d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"91343a00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0376ff1f-0b02-4c31-b479-899939b79723#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0376ff1f-0b02-4c31-b479-899939b79723","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"bbb6458c-808d-46ef-a9d4-acf6ad55de21","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.9690468} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"441b7f2f-5af7-4c17-8086-fabf981fd6fb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.9693913} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"0206057cfc20fc8e0c7939f3deceac7e","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2de27cf-2074-47af-ba29-b18aa340b769","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.9717138} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.658335,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9133c4d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","object_type":"device","rebac_allow":false,"scope_allow":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":"9133c4d0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a5dc2f27-7412-4fea-b6d8-17d8d9e2dd94","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.9748046} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.907277,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"91343a00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","object_type":"device","rebac_allow":false,"scope_allow":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":"91343a00-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9133c4d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/signaling 200 15ms","method":"POST","requestID":"9133c4d0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"91343a00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/05ad876d-94c2-4615-865a-6a4eab821740/signaling 200 12ms","method":"POST","requestID":"91343a00-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/05ad876d-94c2-4615-865a-6a4eab821740/signaling"} gateway-1 | {"time_local":"24/Sep/2024:23:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"808","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"0206057cfc20fc8e0c7939f3deceac7e","responseTime":176,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"913683f0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8","level":"info","message":"auth send jwt","requestID":"302cac82e382d6be22014a45b1326234"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"302cac82e382d6be22014a45b1326234","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"302cac82e382d6be22014a45b1326234"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e16b772d-75d0-4d0d-9038-e8baab66f215","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.9887187} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.445472,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"913683f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","object_type":"device","rebac_allow":false,"scope_allow":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":"913683f0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.752595,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"302cac82e382d6be22014a45b1326234","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"302cac82e382d6be22014a45b1326234","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"913683f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/signaling 200 12ms","method":"POST","requestID":"913683f0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.537086576Z"}]},"request_id":"49ffab94-b778-433f-b341-5b7637181ba0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222167.9963882} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"302cac82e382d6be22014a45b1326234","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9138f4f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91391c00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"302cac82e382d6be22014a45b1326234"} gateway-1 | {"time_local":"24/Sep/2024:23:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/05ad876d-94c2-4615-865a-6a4eab821740? HTTP/1.1","status": "200","body_bytes_sent":"845","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"302cac82e382d6be22014a45b1326234"} device-1 | {"level":"info","message":"GET /devices/05ad876d-94c2-4615-865a-6a4eab821740? 200 15ms","method":"GET","requestID":"302cac82e382d6be22014a45b1326234","responseTime":15,"status":200,"url":"/devices/05ad876d-94c2-4615-865a-6a4eab821740?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.990295,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9138f4f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9138f4f0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.798673,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"91391c00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"91391c00-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE","level":"info","message":"auth send jwt","requestID":"eaa62aa0a49ce104a88bdc252c03a9b8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eaa62aa0a49ce104a88bdc252c03a9b8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eaa62aa0a49ce104a88bdc252c03a9b8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.537086576Z"}]},"request_id":"7866b737-f35b-4418-9840-bfbdfbfe70ce","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.0084884} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9138f4f0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.660436202Z"}]},"request_id":"70a26e5f-549c-4e63-944d-7ab2c90ad505","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.0095751} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9138f4f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"91391c00-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.828264,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} device-1 | {"level":"info","message":"GET /devices/05ad876d-94c2-4615-865a-6a4eab821740? 200 14ms","method":"GET","requestID":"9138f4f0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/05ad876d-94c2-4615-865a-6a4eab821740?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"eaa62aa0a49ce104a88bdc252c03a9b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222168,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"eaa62aa0a49ce104a88bdc252c03a9b8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91391c00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720? 200 18ms","method":"GET","requestID":"91391c00-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:05.660436202Z"}]},"request_id":"15bf85e0-8bb4-424b-a3d3-70f3a08f29a1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.0187461} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eaa62aa0a49ce104a88bdc252c03a9b8","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Building connection plan","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"eaba0e08-8151-44de-ba70-52f107761200"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"acb8166c-aa5d-4306-9354-188790b4198c"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"74d91318-ec37-40da-9bce-2656c218e74f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"913c7760-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eaa62aa0a49ce104a88bdc252c03a9b8"} gateway-1 | {"time_local":"24/Sep/2024:23:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eaa62aa0a49ce104a88bdc252c03a9b8"} device-1 | {"level":"info","message":"GET /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720? 200 17ms","method":"GET","requestID":"eaa62aa0a49ce104a88bdc252c03a9b8","responseTime":17,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.902032,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"913c7760-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222167,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2N30.e_fPVJ_jYYWvDb1adOC4dkUVL4_xx97O2cVrX249Gw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"913c7760-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"6060c923-e104-4fb6-a09e-82cfca55b2ba","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.0347776} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bddc5258-9ebb-444d-9b46-31c453b38c21","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.0349073} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"913c7760-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"913c7760-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"913c7760-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535'","requestID":"913c7760-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535'","requestID":"913c7760-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"913c7760-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"913c7760-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"913c7760-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"0206057cfc20fc8e0c7939f3deceac7e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"914502e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"device":"26ffd583-8b29-49ad-90f4-ab4efdcc6720","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"26ffd583-8b29-49ad-90f4-ab4efdcc6720","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"519995ec-5f75-402e-b08b-23d25928b12f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.0845282} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.236207,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"914502e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"device":"05ad876d-94c2-4615-865a-6a4eab821740","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"05ad876d-94c2-4615-865a-6a4eab821740","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"914502e0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 4041838713645365473 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:yHZS\r\na=ice-pwd:os1sm9sz1tVothlUv1CVWI4S\r\na=ice-options:trickle\r\na=fingerprint:sha-256 DF:A9:DD:29:CC:1E:BA:01:F0:F7:07:7D:D0:AB:D4:30:54:5C:C5:42:39:39:13:2A:1E:1B:E0:2B:5B:6B:11:A9\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"05ad876d-94c2-4615-865a-6a4eab821740","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"914502e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/05ad876d-94c2-4615-865a-6a4eab821740/signaling 200 16ms","method":"POST","requestID":"914502e0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/05ad876d-94c2-4615-865a-6a4eab821740/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9147e910-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ccf9776-e478-4d0a-a813-4ef8e79c9edc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.1018639} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.783691,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9147e910-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9147e910-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 63097113149194815 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:y+AM\r\na=ice-pwd:4VDTLA8YSrVzRBuF5pw1ojpq\r\na=ice-options:trickle\r\na=fingerprint:sha-256 AE:32:94:F6:E3:0E:08:62:EC:3E:26:A4:BF:FD:24:CE:D8:3C:9B:F3:2D:40:04:99:D4:27:AA:3C:50:42:4E:28\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"26ffd583-8b29-49ad-90f4-ab4efdcc6720","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9147e910-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/signaling 200 11ms","method":"POST","requestID":"9147e910-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/signaling"} device-1 | {"content":{"candidate":"candidate:3312913488 1 udp 2113937151 10f5e88c-9340-4aff-9b83-e91acfc85fb1.local 57086 typ host generation 0 ufrag y+AM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"26ffd583-8b29-49ad-90f4-ab4efdcc6720","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1096443439 1 udp 1677729535 141.24.211.56 57086 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag y+AM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"26ffd583-8b29-49ad-90f4-ab4efdcc6720","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/26ffd583-8b29-49ad-90f4-ab4efdcc6720'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720'"} device-1 | {"content":{"candidate":"candidate:3157469938 1 udp 2113937151 17476ec9-5585-4b81-b530-3f87925ac0d2.local 60907 typ host generation 0 ufrag yHZS network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"05ad876d-94c2-4615-865a-6a4eab821740","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:790137825 1 udp 1677729535 141.24.211.56 60907 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag yHZS network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"05ad876d-94c2-4615-865a-6a4eab821740","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740'"} device-1 | {"device":"05ad876d-94c2-4615-865a-6a4eab821740","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"05ad876d-94c2-4615-865a-6a4eab821740","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"26ffd583-8b29-49ad-90f4-ab4efdcc6720","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"26ffd583-8b29-49ad-90f4-ab4efdcc6720","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6ebb1a0c-44dc-418b-8c71-a6acbd89a535","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"05ad876d-94c2-4615-865a-6a4eab821740","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"26ffd583-8b29-49ad-90f4-ab4efdcc6720","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2993357ad654c85fab54ef437ba80c5b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535"}}},"level":"info","message":"received a callback","requestID":"2993357ad654c85fab54ef437ba80c5b"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2993357ad654c85fab54ef437ba80c5b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"2993357ad654c85fab54ef437ba80c5b","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"2993357ad654c85fab54ef437ba80c5b"} device-1 | {"device":"26ffd583-8b29-49ad-90f4-ab4efdcc6720","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"6ebb1a0c-44dc-418b-8c71-a6acbd89a535","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6ebb1a0c-44dc-418b-8c71-a6acbd89a535","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/6ebb1a0c-44dc-418b-8c71-a6acbd89a535' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6ebb1a0c-44dc-418b-8c71-a6acbd89a535","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b7eb6fb01ff2b788ff4ba00d78e329f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b7eb6fb01ff2b788ff4ba00d78e329f2","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535"}}},"level":"info","message":"received a callback","requestID":"b7eb6fb01ff2b788ff4ba00d78e329f2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9151d420-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6ebb1a0c-44dc-418b-8c71-a6acbd89a535","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c865352-5080-42cc-a9c3-74a309a6cc03","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.1663444} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.454487,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9151d420-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535","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":"9151d420-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9151d420-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535 200 8ms","method":"GET","requestID":"9151d420-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"b7eb6fb01ff2b788ff4ba00d78e329f2","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"b7eb6fb01ff2b788ff4ba00d78e329f2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9156b620-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a29fe334-45bb-4aa2-8563-bf5b7c497f7f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.199304} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.806621,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9156b620-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","object_type":"device","rebac_allow":false,"scope_allow":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":"9156b620-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9156b620-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/signaling 200 9ms","method":"POST","requestID":"9156b620-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"91588ae0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88d50a5a-6157-4d8a-b84c-5b2b0c98dd33","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.211898} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.196614,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"91588ae0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","object_type":"device","rebac_allow":false,"scope_allow":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":"91588ae0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"91588ae0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/05ad876d-94c2-4615-865a-6a4eab821740/signaling 200 9ms","method":"POST","requestID":"91588ae0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/05ad876d-94c2-4615-865a-6a4eab821740/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE","level":"info","message":"auth send jwt","requestID":"021b85a6ae3f00e76a6a7e52458b4203"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"021b85a6ae3f00e76a6a7e52458b4203","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0376ff1f-0b02-4c31-b479-899939b79723","requestID":"021b85a6ae3f00e76a6a7e52458b4203"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.645674,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"021b85a6ae3f00e76a6a7e52458b4203","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222168,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"021b85a6ae3f00e76a6a7e52458b4203","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0376ff1f-0b02-4c31-b479-899939b79723","requestID":"021b85a6ae3f00e76a6a7e52458b4203"} gateway-1 | {"time_local":"24/Sep/2024:23:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0376ff1f-0b02-4c31-b479-899939b79723 HTTP/1.1","status": "200","body_bytes_sent":"881","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"021b85a6ae3f00e76a6a7e52458b4203"} experiment-1 | {"level":"info","message":"GET /experiments/0376ff1f-0b02-4c31-b479-899939b79723 200 11ms","method":"GET","requestID":"021b85a6ae3f00e76a6a7e52458b4203","responseTime":11,"status":200,"url":"/experiments/0376ff1f-0b02-4c31-b479-899939b79723"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE","level":"info","message":"auth send jwt","requestID":"89af2d7cead3307dc5c24b8f50b9a2a3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"89af2d7cead3307dc5c24b8f50b9a2a3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0376ff1f-0b02-4c31-b479-899939b79723","requestID":"89af2d7cead3307dc5c24b8f50b9a2a3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.868377,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"89af2d7cead3307dc5c24b8f50b9a2a3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222168,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"89af2d7cead3307dc5c24b8f50b9a2a3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Attempting to finish experiment","requestID":"89af2d7cead3307dc5c24b8f50b9a2a3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"91605310-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.372692,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"91605310-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222168,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"91605310-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535","device":"05ad876d-94c2-4615-865a-6a4eab821740","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535","device":"26ffd583-8b29-49ad-90f4-ab4efdcc6720","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/6ebb1a0c-44dc-418b-8c71-a6acbd89a535' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6ebb1a0c-44dc-418b-8c71-a6acbd89a535","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6ebb1a0c-44dc-418b-8c71-a6acbd89a535': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6ebb1a0c-44dc-418b-8c71-a6acbd89a535","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"91ef82a3-6e55-45cd-9f88-fe769a8464ff","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.2737632} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7155b67-f553-448a-a86f-c54cc3d9b97d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.274019} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6438a21b18bbe6b88d1973c677ea0d8e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6438a21b18bbe6b88d1973c677ea0d8e","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"91605310-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"185ddc4a88a8d07e46271e343575d31a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535"}}},"level":"info","message":"received a callback","requestID":"6438a21b18bbe6b88d1973c677ea0d8e"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"185ddc4a88a8d07e46271e343575d31a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535"}}},"level":"info","message":"received a callback","requestID":"185ddc4a88a8d07e46271e343575d31a"} device-1 | {"data":{"peerconnection":"6ebb1a0c-44dc-418b-8c71-a6acbd89a535","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"91605310-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535 204 38ms","method":"DELETE","requestID":"91605310-7ad0-11ef-9247-9909de679d1e","responseTime":38,"status":204,"url":"/peerconnections/6ebb1a0c-44dc-418b-8c71-a6acbd89a535"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0376ff1f-0b02-4c31-b479-899939b79723"},"level":"info","message":"Successfully finished experiment","requestID":"89af2d7cead3307dc5c24b8f50b9a2a3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9168b780-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26ffd583-8b29-49ad-90f4-ab4efdcc6720","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f54f11a3-fb5d-4c03-8cb3-59b587042aad","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.3170679} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.749965,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9168b780-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9168b780-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9168b780-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/signaling 200 9ms","method":"POST","requestID":"9168b780-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"916a6530-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0376ff1f-0b02-4c31-b479-899939b79723': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0376ff1f-0b02-4c31-b479-899939b79723","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"d494f40f-55ff-4d92-81dd-da63dd08b602","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.3254464} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e5ef4bb-cf18-4b14-89f4-b79fcfafa29c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.3257787} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"89af2d7cead3307dc5c24b8f50b9a2a3","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ad876d-94c2-4615-865a-6a4eab821740","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"150b2dd6-be3b-4bce-83e7-95a2c9c03a7c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.3280668} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.282792,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"916a6530-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740","object_type":"device","rebac_allow":false,"scope_allow":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":"916a6530-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"916a6530-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/05ad876d-94c2-4615-865a-6a4eab821740/signaling 200 9ms","method":"POST","requestID":"916a6530-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/05ad876d-94c2-4615-865a-6a4eab821740/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0376ff1f-0b02-4c31-b479-899939b79723","requestID":"89af2d7cead3307dc5c24b8f50b9a2a3"} gateway-1 | {"time_local":"24/Sep/2024:23:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0376ff1f-0b02-4c31-b479-899939b79723 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89af2d7cead3307dc5c24b8f50b9a2a3"} experiment-1 | {"level":"info","message":"DELETE /experiments/0376ff1f-0b02-4c31-b479-899939b79723 204 149ms","method":"DELETE","requestID":"89af2d7cead3307dc5c24b8f50b9a2a3","responseTime":149,"status":204,"url":"/experiments/0376ff1f-0b02-4c31-b479-899939b79723"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"6438a21b18bbe6b88d1973c677ea0d8e","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"6438a21b18bbe6b88d1973c677ea0d8e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE","level":"info","message":"auth send jwt","requestID":"d7e07109747fbcd36729ab08f277edf2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d7e07109747fbcd36729ab08f277edf2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"185ddc4a88a8d07e46271e343575d31a","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"185ddc4a88a8d07e46271e343575d31a"} device-1 | {"level":"info","message":"postDevices called","requestID":"d7e07109747fbcd36729ab08f277edf2"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.93525,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7e07109747fbcd36729ab08f277edf2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222168,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d7e07109747fbcd36729ab08f277edf2","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3077","request_time":"0.730","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dad5dab22836f00e97fa57f5a83e7046"} gateway-1 | {"time_local":"24/Sep/2024:23:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3078","request_time":"0.715","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"18f57c8be4ac01472690714a5f8cd138"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/05ad876d-94c2-4615-865a-6a4eab821740' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/26ffd583-8b29-49ad-90f4-ab4efdcc6720' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4139877c-c187-4790-93de-f3db120e3493","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.437013} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7e07109747fbcd36729ab08f277edf2","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99bdbb26-d2cb-455d-b101-23352926c2d6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.4446347} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d7e07109747fbcd36729ab08f277edf2","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"cdec7f8f-0630-4129-af87-930838cbd121","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.455488} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05a7f57a-8dd8-4e0e-befa-4fe1f3cea1c4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.4557443} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"d7e07109747fbcd36729ab08f277edf2","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.455466569Z"}]},"request_id":"f4bc3c21-5ba4-43b1-a6f6-15f13ff6441b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.4640923} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7e07109747fbcd36729ab08f277edf2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d7e07109747fbcd36729ab08f277edf2"} gateway-1 | {"time_local":"24/Sep/2024:23:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d7e07109747fbcd36729ab08f277edf2"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"d7e07109747fbcd36729ab08f277edf2","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE","level":"info","message":"auth send jwt","requestID":"ba7c9031c8240fd0e648c91eb952e1ac"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ba7c9031c8240fd0e648c91eb952e1ac","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ba7c9031c8240fd0e648c91eb952e1ac"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.789191,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ba7c9031c8240fd0e648c91eb952e1ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222168,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ba7c9031c8240fd0e648c91eb952e1ac","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8dc8d678-06a7-490b-b7d9-f7b5cdaa809b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.4908686} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ba7c9031c8240fd0e648c91eb952e1ac","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dac4cded-822f-4024-9428-400faa2c8e9e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.4951239} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ba7c9031c8240fd0e648c91eb952e1ac","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"1b172ef0-5fb4-4830-96cb-7c2a880da271","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.5111458} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9881562f-9a67-4200-837d-a04cd26006c0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.5114186} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"ba7c9031c8240fd0e648c91eb952e1ac","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.511127355Z"}]},"request_id":"560c2a5d-f0d9-4bd0-9afe-460d04ae760d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222168.5155454} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ba7c9031c8240fd0e648c91eb952e1ac","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ba7c9031c8240fd0e648c91eb952e1ac"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"ba7c9031c8240fd0e648c91eb952e1ac","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba7c9031c8240fd0e648c91eb952e1ac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE","level":"info","message":"auth send jwt","requestID":"b1ebd0abf4489b79e34605e14c66fb0c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b1ebd0abf4489b79e34605e14c66fb0c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b1ebd0abf4489b79e34605e14c66fb0c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635211,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b1ebd0abf4489b79e34605e14c66fb0c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222168,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OH0.m1D5iba38okEDiLRYXbYE61NMAGnjCtaq0wVXuOTsyE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b1ebd0abf4489b79e34605e14c66fb0c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.455466569Z"}]},"request_id":"2f19fabd-a23c-4610-830a-257a557bc1cd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222169.0024219} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b1ebd0abf4489b79e34605e14c66fb0c","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3ffeaab-ef9d-4724-9fde-6e5bf8e9151f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222169.0073037} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b1ebd0abf4489b79e34605e14c66fb0c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.455466569Z"}]},"request_id":"372529fc-9701-4e66-9fc2-e93c2742fe87","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222169.0211947} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b1ebd0abf4489b79e34605e14c66fb0c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b1ebd0abf4489b79e34605e14c66fb0c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/336281f4-3226-4386-9492-318b7aa5fcd6 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"b1ebd0abf4489b79e34605e14c66fb0c"} device-1 | {"level":"info","message":"PATCH /devices/336281f4-3226-4386-9492-318b7aa5fcd6 200 32ms","method":"PATCH","requestID":"b1ebd0abf4489b79e34605e14c66fb0c","responseTime":32,"status":200,"url":"/devices/336281f4-3226-4386-9492-318b7aa5fcd6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OX0.CXeoNyKVLDsHLeenOBKYQdwRtMZPM4AK0kGRzpMh-PU","level":"info","message":"auth send jwt","requestID":"c2ebc64f2a5832e384344828640406d4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c2ebc64f2a5832e384344828640406d4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c2ebc64f2a5832e384344828640406d4"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859592,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c2ebc64f2a5832e384344828640406d4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222169,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE2OX0.CXeoNyKVLDsHLeenOBKYQdwRtMZPM4AK0kGRzpMh-PU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c2ebc64f2a5832e384344828640406d4","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c2ebc64f2a5832e384344828640406d4"} gateway-1 | {"time_local":"24/Sep/2024:23:56:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/336281f4-3226-4386-9492-318b7aa5fcd6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"c2ebc64f2a5832e384344828640406d4"} device-1 | {"level":"info","message":"POST /devices/336281f4-3226-4386-9492-318b7aa5fcd6/websocket 200 16ms","method":"POST","requestID":"c2ebc64f2a5832e384344828640406d4","responseTime":16,"status":200,"url":"/devices/336281f4-3226-4386-9492-318b7aa5fcd6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8eba99a7e8565bae4e2686832abcacec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8eba99a7e8565bae4e2686832abcacec","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d645a195-21fc-413c-a203-78178ccc2376/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":"8eba99a7e8565bae4e2686832abcacec"} device-1 | {"level":"info","message":"OPTIONS /devices/d645a195-21fc-413c-a203-78178ccc2376/websocket 200 1ms","method":"OPTIONS","requestID":"8eba99a7e8565bae4e2686832abcacec","responseTime":1,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic","level":"info","message":"auth send jwt","requestID":"1e69780a08615a6414727fe55c2295a6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1e69780a08615a6414727fe55c2295a6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1e69780a08615a6414727fe55c2295a6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.213293,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1e69780a08615a6414727fe55c2295a6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1e69780a08615a6414727fe55c2295a6","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1e69780a08615a6414727fe55c2295a6"} gateway-1 | {"time_local":"24/Sep/2024:23:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d645a195-21fc-413c-a203-78178ccc2376/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":"1e69780a08615a6414727fe55c2295a6"} device-1 | {"level":"info","message":"POST /devices/d645a195-21fc-413c-a203-78178ccc2376/websocket 200 23ms","method":"POST","requestID":"1e69780a08615a6414727fe55c2295a6","responseTime":24,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d54b969579b457b10f2c156e01bc9b70","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d54b969579b457b10f2c156e01bc9b70","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d645a195-21fc-413c-a203-78178ccc2376? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"d54b969579b457b10f2c156e01bc9b70"} device-1 | {"level":"info","message":"OPTIONS /devices/d645a195-21fc-413c-a203-78178ccc2376? 200 1ms","method":"OPTIONS","requestID":"d54b969579b457b10f2c156e01bc9b70","responseTime":1,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic","level":"info","message":"auth send jwt","requestID":"9306cbdd5c3c2c15d123ad1d9f0444c6"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9306cbdd5c3c2c15d123ad1d9f0444c6","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"9306cbdd5c3c2c15d123ad1d9f0444c6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.297757,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9306cbdd5c3c2c15d123ad1d9f0444c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9306cbdd5c3c2c15d123ad1d9f0444c6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.511127355Z"}]},"request_id":"2583c150-1fbf-4451-b120-5fc5cbe40ce5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.651908} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9306cbdd5c3c2c15d123ad1d9f0444c6","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f840217-3c75-4820-b0c5-05aa8b949439","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.6594338} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"9306cbdd5c3c2c15d123ad1d9f0444c6","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.511127355Z"}]},"request_id":"7cb6e2cc-11ea-4dd1-b5d9-ec4842564b5c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.6707292} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9306cbdd5c3c2c15d123ad1d9f0444c6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"9306cbdd5c3c2c15d123ad1d9f0444c6"} gateway-1 | {"time_local":"24/Sep/2024:23:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d645a195-21fc-413c-a203-78178ccc2376? HTTP/1.1","status": "200","body_bytes_sent":"998","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":"9306cbdd5c3c2c15d123ad1d9f0444c6"} device-1 | {"level":"info","message":"PATCH /devices/d645a195-21fc-413c-a203-78178ccc2376? 200 37ms","method":"PATCH","requestID":"9306cbdd5c3c2c15d123ad1d9f0444c6","responseTime":37,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic","level":"info","message":"auth send jwt","requestID":"0616620daf00cba5f18e596afe3f8635"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0616620daf00cba5f18e596afe3f8635","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0616620daf00cba5f18e596afe3f8635"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.047516,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0616620daf00cba5f18e596afe3f8635","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0616620daf00cba5f18e596afe3f8635","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.455466569Z"}]},"request_id":"ce182ea4-2944-4da9-980d-26d372d0925c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.695107} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0616620daf00cba5f18e596afe3f8635","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0616620daf00cba5f18e596afe3f8635"} device-1 | {"level":"info","message":"GET /devices/336281f4-3226-4386-9492-318b7aa5fcd6? 200 18ms","method":"GET","requestID":"0616620daf00cba5f18e596afe3f8635","responseTime":18,"status":200,"url":"/devices/336281f4-3226-4386-9492-318b7aa5fcd6?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/336281f4-3226-4386-9492-318b7aa5fcd6? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0616620daf00cba5f18e596afe3f8635"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic","level":"info","message":"auth send jwt","requestID":"064fc8122e48058ae84dd2b437016364"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"064fc8122e48058ae84dd2b437016364","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"064fc8122e48058ae84dd2b437016364"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.142133,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"064fc8122e48058ae84dd2b437016364","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"064fc8122e48058ae84dd2b437016364","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.511127355Z"}]},"request_id":"0328264c-a74d-4c0c-9bce-ba4b70c5c0ab","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.7210524} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"064fc8122e48058ae84dd2b437016364","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"064fc8122e48058ae84dd2b437016364"} gateway-1 | {"time_local":"24/Sep/2024:23:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d645a195-21fc-413c-a203-78178ccc2376? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"064fc8122e48058ae84dd2b437016364"} device-1 | {"level":"info","message":"GET /devices/d645a195-21fc-413c-a203-78178ccc2376? 200 14ms","method":"GET","requestID":"064fc8122e48058ae84dd2b437016364","responseTime":14,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic","level":"info","message":"auth send jwt","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dc5e27589987445ed178d3ef9c42b1e8","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.132991,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dc5e27589987445ed178d3ef9c42b1e8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dc5e27589987445ed178d3ef9c42b1e8","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Attempting to run experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Attempting to book experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Successfully booked experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"92e21110-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"92e23820-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.786792,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"92e21110-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"92e21110-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906177,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"92e23820-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"92e23820-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.455466569Z"}]},"request_id":"ecb35f0f-26d5-46f4-92e6-19654c5934f1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.7943177} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"92e21110-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.511127355Z"}]},"request_id":"c57af94d-6904-427d-b67e-eb2576f91698","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.796111} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"92e23820-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"92e21110-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/336281f4-3226-4386-9492-318b7aa5fcd6? 200 17ms","method":"GET","requestID":"92e21110-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/336281f4-3226-4386-9492-318b7aa5fcd6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"92e23820-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/d645a195-21fc-413c-a203-78178ccc2376? 200 16ms","method":"GET","requestID":"92e23820-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Setting up experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Successfully set up experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"92ed5bb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"92eda9d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"92ee1f00-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Successfully running experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.21846,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.215423,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"92ed5bb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"92ed5bb0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"92eda9d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"92eda9d0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.455466569Z"}]},"request_id":"bbac7bff-d297-471e-9e65-5abb8f7b722a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.878626} authorization-1 | {"client_addr":"127.0.0.1:44382","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"92ed5bb0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.511127355Z"}]},"request_id":"5f71c4a4-6f19-48e9-98ac-f53c49b0c8e7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.8800528} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82d3675e-8ad1-45c6-8242-299614be0fec","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.8807962} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"92eda9d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:44382","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.363285,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"92ee1f00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","method":"POST","requestID":"92ee1f00-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"92eda9d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/d645a195-21fc-413c-a203-78178ccc2376? 200 30ms","method":"GET","requestID":"92eda9d0-7ad0-11ef-9247-9909de679d1e","responseTime":30,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"92ed5bb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab65e565-4aa1-4366-a827-940cc65992b4#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab65e565-4aa1-4366-a827-940cc65992b4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"3c07fc07-c282-4da2-8215-2f447bf9f58a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.8928497} device-1 | {"level":"info","message":"GET /devices/336281f4-3226-4386-9492-318b7aa5fcd6? 200 34ms","method":"GET","requestID":"92ed5bb0-7ad0-11ef-9247-9909de679d1e","responseTime":34,"status":200,"url":"/devices/336281f4-3226-4386-9492-318b7aa5fcd6?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff620696-e238-4166-bff9-d92f8c388994","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.893088} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"92ee1f00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/336281f4-3226-4386-9492-318b7aa5fcd6/signaling 200 30ms","method":"POST","requestID":"92ee1f00-7ad0-11ef-9247-9909de679d1e","responseTime":30,"status":200,"url":"/devices/336281f4-3226-4386-9492-318b7aa5fcd6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"92f2d9f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"dc5e27589987445ed178d3ef9c42b1e8","responseTime":26,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"92f34f20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1e1fd56-c345-4907-85c3-f11aab37fa96","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.90078} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.500683,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"92f2d9f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","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/ab65e565-4aa1-4366-a827-940cc65992b4","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"92f2d9f0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b867d40-7117-49be-9edd-12460a0f37d9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.9025238} gateway-1 | {"time_local":"24/Sep/2024:23:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"812","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 167ms","method":"POST","requestID":"dc5e27589987445ed178d3ef9c42b1e8","responseTime":167,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.73331,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"92f34f20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","object_type":"device","rebac_allow":false,"scope_allow":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":"92f34f20-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"92f2d9f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/336281f4-3226-4386-9492-318b7aa5fcd6/signaling 200 12ms","method":"POST","requestID":"92f2d9f0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/336281f4-3226-4386-9492-318b7aa5fcd6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic","level":"info","message":"auth send jwt","requestID":"9023b4419c21a125659eeef11d40ff11"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9023b4419c21a125659eeef11d40ff11","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"92f34f20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d645a195-21fc-413c-a203-78178ccc2376/signaling 200 11ms","method":"POST","requestID":"92f34f20-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"92f523e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9023b4419c21a125659eeef11d40ff11"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.857844,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b04494f-bb92-42ef-bb10-d8193615d87c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.9164631} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9023b4419c21a125659eeef11d40ff11","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9023b4419c21a125659eeef11d40ff11","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.282816,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"92f523e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","object_type":"device","rebac_allow":false,"scope_allow":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":"92f523e0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.455466569Z"}]},"request_id":"5e5c1380-9048-48fb-bcc6-fb469cad1cff","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.9221215} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9023b4419c21a125659eeef11d40ff11","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"92f523e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d645a195-21fc-413c-a203-78178ccc2376/signaling 200 13ms","method":"POST","requestID":"92f523e0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"92f794e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"92f7e300-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9023b4419c21a125659eeef11d40ff11"} device-1 | {"level":"info","message":"GET /devices/336281f4-3226-4386-9492-318b7aa5fcd6? 200 18ms","method":"GET","requestID":"9023b4419c21a125659eeef11d40ff11","responseTime":18,"status":200,"url":"/devices/336281f4-3226-4386-9492-318b7aa5fcd6?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.961226,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} gateway-1 | {"time_local":"24/Sep/2024:23:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/336281f4-3226-4386-9492-318b7aa5fcd6? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9023b4419c21a125659eeef11d40ff11"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"92f794e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"92f794e0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58656","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900445,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"92f7e300-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"92f7e300-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic","level":"info","message":"auth send jwt","requestID":"99c3cf7fa6ed425ac703ec3c7d70d1fd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"99c3cf7fa6ed425ac703ec3c7d70d1fd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"99c3cf7fa6ed425ac703ec3c7d70d1fd"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.455466569Z"}]},"request_id":"7f5d25c9-4939-4ae0-aaf6-eb122866d750","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.9375253} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"92f794e0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.511127355Z"}]},"request_id":"d686b1ab-5cf4-4913-90f3-18e9ac8edb16","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.9394264} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"92f7e300-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909516,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"99c3cf7fa6ed425ac703ec3c7d70d1fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"99c3cf7fa6ed425ac703ec3c7d70d1fd","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"92f794e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/336281f4-3226-4386-9492-318b7aa5fcd6? 200 18ms","method":"GET","requestID":"92f794e0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/336281f4-3226-4386-9492-318b7aa5fcd6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"92f7e300-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/d645a195-21fc-413c-a203-78178ccc2376? 200 20ms","method":"GET","requestID":"92f7e300-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:08.511127355Z"}]},"request_id":"e2100f96-3bbc-475f-85e0-1b6cf94bd954","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.948294} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"99c3cf7fa6ed425ac703ec3c7d70d1fd","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Building connection plan","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"e7922639-059d-4f78-963c-6031990e78a4"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"65b39998-11de-4fe4-b565-b136294bdd09"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"f657e159-0867-4faa-8d84-3622bed832e4"}]},"level":"info","message":"Built pairwise service configurations","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"92fb8c80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"99c3cf7fa6ed425ac703ec3c7d70d1fd"} gateway-1 | {"time_local":"24/Sep/2024:23:56:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d645a195-21fc-413c-a203-78178ccc2376? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99c3cf7fa6ed425ac703ec3c7d70d1fd"} device-1 | {"level":"info","message":"GET /devices/d645a195-21fc-413c-a203-78178ccc2376? 200 17ms","method":"GET","requestID":"99c3cf7fa6ed425ac703ec3c7d70d1fd","responseTime":17,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.650278,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"92fb8c80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222170,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3MH0.UlbD6ceY2E1ZAs1k3t1PiL-peia-Xs9h0SrvpxMIFic"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"92fb8c80-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"fcf9b8e8-2250-4c0c-8645-9ae9f0137f8d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.9639766} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e60d2b7f-c990-46d1-bcc2-498dea538fd8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222170.964252} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"92fb8c80-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"92fb8c80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"92fb8c80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644'","requestID":"92fb8c80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644'","requestID":"92fb8c80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"92fb8c80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"92fb8c80-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"92fb8c80-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"dc5e27589987445ed178d3ef9c42b1e8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9303c9e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:11Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbdb06c5-8316-4bee-b6b6-5ef444816dc7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222171.0115085} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.186396,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9303c9e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","object_type":"device","rebac_allow":false,"scope_allow":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":"9303c9e0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9303c9e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/336281f4-3226-4386-9492-318b7aa5fcd6/signaling 200 10ms","method":"POST","requestID":"9303c9e0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/336281f4-3226-4386-9492-318b7aa5fcd6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"93057790-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:11Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85c664ac-edef-4d1a-845c-c0b9cc25ffc2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222171.0221555} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.148435,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"93057790-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","object_type":"device","rebac_allow":false,"scope_allow":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":"93057790-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"93057790-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d645a195-21fc-413c-a203-78178ccc2376/signaling 200 8ms","method":"POST","requestID":"93057790-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376/signaling"} device-1 | {"device":"d645a195-21fc-413c-a203-78178ccc2376","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d645a195-21fc-413c-a203-78178ccc2376","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 8392926285261812296 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:tvoB\r\na=ice-pwd:8/6vdNN4F0pYXn/nz/kUL1Bv\r\na=ice-options:trickle\r\na=fingerprint:sha-256 AD:9D:8D:87:98:1F:64:E9:40:F5:B1:A1:4E:05:A2:AA:F8:4F:9D:29:39:2F:46:54:E4:CA:DA:A9:7A:2B:45:0F\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"d645a195-21fc-413c-a203-78178ccc2376","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"d645a195-21fc-413c-a203-78178ccc2376","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"336281f4-3226-4386-9492-318b7aa5fcd6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"860bb126-8b38-45b1-aaff-b43fc14b7644","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"336281f4-3226-4386-9492-318b7aa5fcd6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"336281f4-3226-4386-9492-318b7aa5fcd6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"336281f4-3226-4386-9492-318b7aa5fcd6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"336281f4-3226-4386-9492-318b7aa5fcd6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/860bb126-8b38-45b1-aaff-b43fc14b7644' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"860bb126-8b38-45b1-aaff-b43fc14b7644","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"863ff0d8a7458bea9f3173fa7105a939","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"863ff0d8a7458bea9f3173fa7105a939","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644"}}},"level":"info","message":"received a callback","requestID":"863ff0d8a7458bea9f3173fa7105a939"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"863ff0d8a7458bea9f3173fa7105a939"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"863ff0d8a7458bea9f3173fa7105a939","responseTime":8,"status":200,"url":"/callbacks/experiment"} device-1 | {"content":{"candidate":"candidate:760150848 1 udp 2113937151 ffdd767e-a42a-40e2-895a-3df8b7531235.local 34051 typ host generation 0 ufrag tvoB network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d645a195-21fc-413c-a203-78178ccc2376","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3194313299 1 udp 1677729535 141.24.211.56 34051 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag tvoB network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d645a195-21fc-413c-a203-78178ccc2376","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:4841889 1 udp 33562623 141.24.210.113 57331 typ relay raddr 141.24.211.56 rport 34051 generation 0 ufrag tvoB network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d645a195-21fc-413c-a203-78178ccc2376","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"d645a195-21fc-413c-a203-78178ccc2376","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376'"} device-1 | {"data":{"peerconnection":"860bb126-8b38-45b1-aaff-b43fc14b7644","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376'"} device-1 | {"device":"336281f4-3226-4386-9492-318b7aa5fcd6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d645a195-21fc-413c-a203-78178ccc2376","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"336281f4-3226-4386-9492-318b7aa5fcd6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"860bb126-8b38-45b1-aaff-b43fc14b7644","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/860bb126-8b38-45b1-aaff-b43fc14b7644' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"860bb126-8b38-45b1-aaff-b43fc14b7644","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5b263b5dbcd34d781b04217c0f33d5e6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5b263b5dbcd34d781b04217c0f33d5e6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644"}}},"level":"info","message":"received a callback","requestID":"5b263b5dbcd34d781b04217c0f33d5e6"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9446aa20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F860bb126-8b38-45b1-aaff-b43fc14b7644","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2ae05f5-ac5e-4dca-8d7c-3cfe49a8447e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.129556} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.574103,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9446aa20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644","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":"9446aa20-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9446aa20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644 200 14ms","method":"GET","requestID":"9446aa20-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"5b263b5dbcd34d781b04217c0f33d5e6","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b263b5dbcd34d781b04217c0f33d5e6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"944c4f70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfa77c78-30b9-491e-99c0-f4336093fa22","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.1659122} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.252224,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"944c4f70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","object_type":"device","rebac_allow":false,"scope_allow":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":"944c4f70-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"944c4f70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/336281f4-3226-4386-9492-318b7aa5fcd6/signaling 200 13ms","method":"POST","requestID":"944c4f70-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/336281f4-3226-4386-9492-318b7aa5fcd6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"944ec070-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c16ff50-4769-4379-8066-6cdcad41b486","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.1815412} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.929379,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"944ec070-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","object_type":"device","rebac_allow":false,"scope_allow":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":"944ec070-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"944ec070-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d645a195-21fc-413c-a203-78178ccc2376/signaling 200 15ms","method":"POST","requestID":"944ec070-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3M30.XU0HGfE9MKUGD_YET-0eKlIRrLmhXBQ7cMh4wR462cA","level":"info","message":"auth send jwt","requestID":"88aa32d8326324ee22451a76bac8be7e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88aa32d8326324ee22451a76bac8be7e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ab65e565-4aa1-4366-a827-940cc65992b4","requestID":"88aa32d8326324ee22451a76bac8be7e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.292094,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"88aa32d8326324ee22451a76bac8be7e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222173,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3M30.XU0HGfE9MKUGD_YET-0eKlIRrLmhXBQ7cMh4wR462cA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"88aa32d8326324ee22451a76bac8be7e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ab65e565-4aa1-4366-a827-940cc65992b4","requestID":"88aa32d8326324ee22451a76bac8be7e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ab65e565-4aa1-4366-a827-940cc65992b4 HTTP/1.1","status": "200","body_bytes_sent":"885","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88aa32d8326324ee22451a76bac8be7e"} experiment-1 | {"level":"info","message":"GET /experiments/ab65e565-4aa1-4366-a827-940cc65992b4 200 17ms","method":"GET","requestID":"88aa32d8326324ee22451a76bac8be7e","responseTime":17,"status":200,"url":"/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3M30.XU0HGfE9MKUGD_YET-0eKlIRrLmhXBQ7cMh4wR462cA","level":"info","message":"auth send jwt","requestID":"1051d1af66d50b897e7a2e5a9f1b17cb"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1051d1af66d50b897e7a2e5a9f1b17cb","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ab65e565-4aa1-4366-a827-940cc65992b4","requestID":"1051d1af66d50b897e7a2e5a9f1b17cb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.178755,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1051d1af66d50b897e7a2e5a9f1b17cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222173,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3M30.XU0HGfE9MKUGD_YET-0eKlIRrLmhXBQ7cMh4wR462cA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1051d1af66d50b897e7a2e5a9f1b17cb","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Attempting to finish experiment","requestID":"1051d1af66d50b897e7a2e5a9f1b17cb"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"94688a00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.287209,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"94688a00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222173,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3M30.XU0HGfE9MKUGD_YET-0eKlIRrLmhXBQ7cMh4wR462cA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"94688a00-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644","device":"d645a195-21fc-413c-a203-78178ccc2376","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"336281f4-3226-4386-9492-318b7aa5fcd6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"336281f4-3226-4386-9492-318b7aa5fcd6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"336281f4-3226-4386-9492-318b7aa5fcd6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/860bb126-8b38-45b1-aaff-b43fc14b7644' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"860bb126-8b38-45b1-aaff-b43fc14b7644","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a1a922a978389b4e7cd0cadbece11c14","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a1a922a978389b4e7cd0cadbece11c14","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F860bb126-8b38-45b1-aaff-b43fc14b7644': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F860bb126-8b38-45b1-aaff-b43fc14b7644","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"ac811d11-1fb2-42f5-9072-07c5326c6b42","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.3731105} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2296f0d-6257-4090-8a18-e49c35fc892a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.373502} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"df882ea7b6ed2419f319a584f658a962","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644"}}},"level":"info","message":"received a callback","requestID":"a1a922a978389b4e7cd0cadbece11c14"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"df882ea7b6ed2419f319a584f658a962","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"94688a00-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644"}}},"level":"info","message":"received a callback","requestID":"df882ea7b6ed2419f319a584f658a962"} device-1 | {"data":{"peerconnection":"860bb126-8b38-45b1-aaff-b43fc14b7644","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"94688a00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644 204 53ms","method":"DELETE","requestID":"94688a00-7ad0-11ef-9247-9909de679d1e","responseTime":53,"status":204,"url":"/peerconnections/860bb126-8b38-45b1-aaff-b43fc14b7644"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"},"level":"info","message":"Successfully finished experiment","requestID":"1051d1af66d50b897e7a2e5a9f1b17cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9474e610-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F336281f4-3226-4386-9492-318b7aa5fcd6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa5cf4c6-02ce-41c9-87fa-856327e01541","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.4328523} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.644974,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9474e610-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6","object_type":"device","rebac_allow":false,"scope_allow":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":"9474e610-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9474e610-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/336281f4-3226-4386-9492-318b7aa5fcd6/signaling 200 16ms","method":"POST","requestID":"9474e610-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/336281f4-3226-4386-9492-318b7aa5fcd6/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab65e565-4aa1-4366-a827-940cc65992b4': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab65e565-4aa1-4366-a827-940cc65992b4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"13220652-e283-48cd-83ac-536dd4a05609","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.4418607} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5ede711-b1f7-4c04-90e1-3131d075038c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.4424376} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"1051d1af66d50b897e7a2e5a9f1b17cb","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9477f350-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd645a195-21fc-413c-a203-78178ccc2376","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b5854a4-ddd7-458c-bd9e-e72e11d14964","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.4537146} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.34656,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9477f350-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d645a195-21fc-413c-a203-78178ccc2376","object_type":"device","rebac_allow":false,"scope_allow":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":"9477f350-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9477f350-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d645a195-21fc-413c-a203-78178ccc2376/signaling 200 15ms","method":"POST","requestID":"9477f350-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/d645a195-21fc-413c-a203-78178ccc2376/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ab65e565-4aa1-4366-a827-940cc65992b4","requestID":"1051d1af66d50b897e7a2e5a9f1b17cb"} gateway-1 | {"time_local":"24/Sep/2024:23:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ab65e565-4aa1-4366-a827-940cc65992b4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1051d1af66d50b897e7a2e5a9f1b17cb"} gateway-1 | {"time_local":"24/Sep/2024:23:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3419","request_time":"4.472","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"44c621821d829e222adcb626b9e54683"} experiment-1 | {"level":"info","message":"DELETE /experiments/ab65e565-4aa1-4366-a827-940cc65992b4 204 196ms","method":"DELETE","requestID":"1051d1af66d50b897e7a2e5a9f1b17cb","responseTime":196,"status":204,"url":"/experiments/ab65e565-4aa1-4366-a827-940cc65992b4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"a1a922a978389b4e7cd0cadbece11c14","responseTime":151,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.156","http_referrer":"","http_user_agent":"node-fetch","requestID":"a1a922a978389b4e7cd0cadbece11c14"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"df882ea7b6ed2419f319a584f658a962","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.157","http_referrer":"","http_user_agent":"node-fetch","requestID":"df882ea7b6ed2419f319a584f658a962"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3M30.XU0HGfE9MKUGD_YET-0eKlIRrLmhXBQ7cMh4wR462cA","level":"info","message":"auth send jwt","requestID":"c3969ced9bdfbf7eac5561bbbadd2ae4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c3969ced9bdfbf7eac5561bbbadd2ae4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c3969ced9bdfbf7eac5561bbbadd2ae4"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/336281f4-3226-4386-9492-318b7aa5fcd6' closed"} gateway-1 | {"time_local":"24/Sep/2024:23:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2886","request_time":"2.944","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0cc6c4d48df7cf3d36cd0b90b76a40ac"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.713586,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c3969ced9bdfbf7eac5561bbbadd2ae4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222173,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3M30.XU0HGfE9MKUGD_YET-0eKlIRrLmhXBQ7cMh4wR462cA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c3969ced9bdfbf7eac5561bbbadd2ae4","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a3e94389-7cff-436f-ad59-1dfcb852d073","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.55087} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c3969ced9bdfbf7eac5561bbbadd2ae4","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/d645a195-21fc-413c-a203-78178ccc2376' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a37405f-7678-4e6e-8448-b1ebd6716095","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.5566006} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c3969ced9bdfbf7eac5561bbbadd2ae4","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"1072d7f6-3041-4062-a83c-bd0d64b8820c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.5671396} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbc3c3b8-d4c1-4f77-adf8-7e39151f99f7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.5673664} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"c3969ced9bdfbf7eac5561bbbadd2ae4","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.567114666Z"}]},"request_id":"a1ae1194-4815-45e9-b17d-f8416e2ce374","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.5727777} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c3969ced9bdfbf7eac5561bbbadd2ae4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c3969ced9bdfbf7eac5561bbbadd2ae4"} gateway-1 | {"time_local":"24/Sep/2024:23:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3969ced9bdfbf7eac5561bbbadd2ae4"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"c3969ced9bdfbf7eac5561bbbadd2ae4","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3M30.XU0HGfE9MKUGD_YET-0eKlIRrLmhXBQ7cMh4wR462cA","level":"info","message":"auth send jwt","requestID":"f424c02b9e0beea5d5747a330ba930cd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f424c02b9e0beea5d5747a330ba930cd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f424c02b9e0beea5d5747a330ba930cd"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.800962,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f424c02b9e0beea5d5747a330ba930cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222173,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3M30.XU0HGfE9MKUGD_YET-0eKlIRrLmhXBQ7cMh4wR462cA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f424c02b9e0beea5d5747a330ba930cd","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"019cf43f-6828-4b95-a547-c7e0e279c954","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.603228} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f424c02b9e0beea5d5747a330ba930cd","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b2d9d48-a159-4d69-a774-3ebf3ec9a98d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.6084478} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f424c02b9e0beea5d5747a330ba930cd","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"590ac7bf-f873-4bb7-95b9-904d7a5960b0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.620635} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25a60f36-1099-4faa-a744-12c24c8c6470","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.6207368} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"f424c02b9e0beea5d5747a330ba930cd","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.620612199Z"}]},"request_id":"c64a8bbd-1545-4400-a3b5-2161c8cf788f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222173.625467} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f424c02b9e0beea5d5747a330ba930cd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f424c02b9e0beea5d5747a330ba930cd"} gateway-1 | {"time_local":"24/Sep/2024:23:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f424c02b9e0beea5d5747a330ba930cd"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"f424c02b9e0beea5d5747a330ba930cd","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"260711a14b16ccba7470300c65a1a461","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"260711a14b16ccba7470300c65a1a461","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/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":"260711a14b16ccba7470300c65a1a461"} device-1 | {"level":"info","message":"OPTIONS /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/websocket 200 1ms","method":"OPTIONS","requestID":"260711a14b16ccba7470300c65a1a461","responseTime":1,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k","level":"info","message":"auth send jwt","requestID":"7ac0c3ee28273ecbb516d5f04cc8acc1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ac0c3ee28273ecbb516d5f04cc8acc1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7ac0c3ee28273ecbb516d5f04cc8acc1"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"09d9d840709521a3aaf0567f2f4d4d60","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"09d9d840709521a3aaf0567f2f4d4d60","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/websocket 200 0ms","method":"OPTIONS","requestID":"09d9d840709521a3aaf0567f2f4d4d60","responseTime":0,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/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":"09d9d840709521a3aaf0567f2f4d4d60"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635124,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7ac0c3ee28273ecbb516d5f04cc8acc1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7ac0c3ee28273ecbb516d5f04cc8acc1","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k","level":"info","message":"auth send jwt","requestID":"91dfb8927774cc40297b971d7df91ff1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"91dfb8927774cc40297b971d7df91ff1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"91dfb8927774cc40297b971d7df91ff1"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.747954,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"91dfb8927774cc40297b971d7df91ff1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"91dfb8927774cc40297b971d7df91ff1","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7ac0c3ee28273ecbb516d5f04cc8acc1"} device-1 | {"level":"info","message":"POST /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/websocket 200 22ms","method":"POST","requestID":"7ac0c3ee28273ecbb516d5f04cc8acc1","responseTime":22,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/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":"7ac0c3ee28273ecbb516d5f04cc8acc1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"91dfb8927774cc40297b971d7df91ff1"} gateway-1 | {"time_local":"24/Sep/2024:23:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/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":"91dfb8927774cc40297b971d7df91ff1"} device-1 | {"level":"info","message":"POST /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/websocket 200 26ms","method":"POST","requestID":"91dfb8927774cc40297b971d7df91ff1","responseTime":26,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fc57579e2818189045de3ce259323ccc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"fc57579e2818189045de3ce259323ccc","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"fc57579e2818189045de3ce259323ccc"} device-1 | {"level":"info","message":"OPTIONS /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354? 200 1ms","method":"OPTIONS","requestID":"fc57579e2818189045de3ce259323ccc","responseTime":1,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8dfa2f332e96ec67aed595821b4b3ac4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8dfa2f332e96ec67aed595821b4b3ac4","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"8dfa2f332e96ec67aed595821b4b3ac4"} device-1 | {"level":"info","message":"OPTIONS /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3? 200 1ms","method":"OPTIONS","requestID":"8dfa2f332e96ec67aed595821b4b3ac4","responseTime":1,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k","level":"info","message":"auth send jwt","requestID":"6522033ffd0e8dc560759c650f25a786"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6522033ffd0e8dc560759c650f25a786","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6522033ffd0e8dc560759c650f25a786"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k","level":"info","message":"auth send jwt","requestID":"7897cd8403963f1e8cf4ac8cf669be2b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7897cd8403963f1e8cf4ac8cf669be2b","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796497,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7897cd8403963f1e8cf4ac8cf669be2b"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6522033ffd0e8dc560759c650f25a786","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6522033ffd0e8dc560759c650f25a786","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862588,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7897cd8403963f1e8cf4ac8cf669be2b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7897cd8403963f1e8cf4ac8cf669be2b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.567114666Z"}]},"request_id":"105df7d3-e176-46c2-92d0-ee45720804f1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.7173316} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6522033ffd0e8dc560759c650f25a786","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.620612199Z"}]},"request_id":"9e6eec2a-e4e5-42b5-a354-e38e2a4be391","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.719738} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7897cd8403963f1e8cf4ac8cf669be2b","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2aa4064-69f3-4ee9-bc79-0ed672c17b8f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.722562} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6522033ffd0e8dc560759c650f25a786","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bed17b05-0879-48eb-9bf5-9684b2ce22d4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.724493} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7897cd8403963f1e8cf4ac8cf669be2b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.620612199Z"}]},"request_id":"1daf7031-5beb-4901-8e5a-7db1fc128e24","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.741718} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"7897cd8403963f1e8cf4ac8cf669be2b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.567114666Z"}]},"request_id":"a7fec11b-7996-4b55-9587-5395f01254ac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.743139} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7897cd8403963f1e8cf4ac8cf669be2b"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6522033ffd0e8dc560759c650f25a786","responseTime":4,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"24/Sep/2024:23:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7897cd8403963f1e8cf4ac8cf669be2b"} device-1 | {"level":"info","message":"PATCH /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3? 200 35ms","method":"PATCH","requestID":"7897cd8403963f1e8cf4ac8cf669be2b","responseTime":35,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3?"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6522033ffd0e8dc560759c650f25a786"} gateway-1 | {"time_local":"24/Sep/2024:23:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.047","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6522033ffd0e8dc560759c650f25a786"} device-1 | {"level":"info","message":"PATCH /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354? 200 41ms","method":"PATCH","requestID":"6522033ffd0e8dc560759c650f25a786","responseTime":41,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k","level":"info","message":"auth send jwt","requestID":"e7f65a3da78d04d8a4af467785cb3e6e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e7f65a3da78d04d8a4af467785cb3e6e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e7f65a3da78d04d8a4af467785cb3e6e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.259244,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7f65a3da78d04d8a4af467785cb3e6e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e7f65a3da78d04d8a4af467785cb3e6e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.567114666Z"}]},"request_id":"23498cf4-96f4-4f7d-8fad-f8604463fcea","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.7667923} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e7f65a3da78d04d8a4af467785cb3e6e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e7f65a3da78d04d8a4af467785cb3e6e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7f65a3da78d04d8a4af467785cb3e6e"} device-1 | {"level":"info","message":"GET /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354? 200 14ms","method":"GET","requestID":"e7f65a3da78d04d8a4af467785cb3e6e","responseTime":14,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k","level":"info","message":"auth send jwt","requestID":"bcfc699b75da2d3a38c71d1f803ba2f0"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bcfc699b75da2d3a38c71d1f803ba2f0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bcfc699b75da2d3a38c71d1f803ba2f0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.099425,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcfc699b75da2d3a38c71d1f803ba2f0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bcfc699b75da2d3a38c71d1f803ba2f0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.620612199Z"}]},"request_id":"44190ced-8d95-41bd-8fc3-6612dcf6719d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.7883987} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bcfc699b75da2d3a38c71d1f803ba2f0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bcfc699b75da2d3a38c71d1f803ba2f0"} device-1 | {"level":"info","message":"GET /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3? 200 14ms","method":"GET","requestID":"bcfc699b75da2d3a38c71d1f803ba2f0","responseTime":14,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcfc699b75da2d3a38c71d1f803ba2f0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k","level":"info","message":"auth send jwt","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.081419,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3caacc4304dfbdd683ae0e3400ad8fe1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Attempting to run experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Attempting to book experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Successfully booked experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"95e65060-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"95e6c590-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21934,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"95e65060-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"95e65060-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.147063,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"95e6c590-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"95e6c590-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.567114666Z"}]},"request_id":"ea3c62c9-de71-4dea-9c81-05329adbb99d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.8586655} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"95e65060-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.620612199Z"}]},"request_id":"8b6b2688-476c-4925-8a8b-8466a22b4f9e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.8629215} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"95e65060-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"95e6c590-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354? 200 18ms","method":"GET","requestID":"95e65060-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"95e6c590-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3? 200 20ms","method":"GET","requestID":"95e6c590-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Setting up experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Successfully set up experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"95f36fc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"95f3e4f0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Successfully running experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95f45a20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.114216,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"95f36fc0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"95f36fc0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712868,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"95f3e4f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"95f3e4f0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a430d06d-cb35-4279-8674-91a3e03a26c1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.948249} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.94329,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"95f45a20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","object_type":"device","rebac_allow":false,"scope_allow":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":"95f45a20-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.620612199Z"}]},"request_id":"5ce89ec8-4aec-4010-be92-f7be5eae5619","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.9510944} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"95f3e4f0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.567114666Z"}]},"request_id":"0fc0f606-ac63-4679-aea1-95f9eafb2d87","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.9542344} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95f45a20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"95f36fc0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/signaling 200 19ms","method":"POST","requestID":"95f45a20-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F293bb1f2-d3de-421b-8ee1-5abf3b75f320#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F293bb1f2-d3de-421b-8ee1-5abf3b75f320","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"846a7e6a-b924-4837-a980-3fed0b583492","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.9569454} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83d332df-4771-4131-8ab6-801dd7749c8b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.957304} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95f7dc90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"95f3e4f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3? 200 31ms","method":"GET","requestID":"95f3e4f0-7ad0-11ef-9247-9909de679d1e","responseTime":31,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"95f36fc0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} device-1 | {"level":"info","message":"GET /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354? 200 35ms","method":"GET","requestID":"95f36fc0-7ad0-11ef-9247-9909de679d1e","responseTime":35,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c580572-5975-4e34-9802-7d04574b2f61","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.9689865} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.340556,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95f91510-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"95f7dc90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","object_type":"device","rebac_allow":false,"scope_allow":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":"95f7dc90-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95f7dc90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/signaling 200 14ms","method":"POST","requestID":"95f7dc90-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cec6f44f-b534-4e8e-98c0-a4f61b401947","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.9759233} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.240059,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} gateway-1 | {"time_local":"24/Sep/2024:23:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"778","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} experiment-1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1","responseTime":176,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"95f91510-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","object_type":"device","rebac_allow":false,"scope_allow":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":"95f91510-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k","level":"info","message":"auth send jwt","requestID":"703db81127bbbf2ed7c8abe34b1a5960"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"703db81127bbbf2ed7c8abe34b1a5960","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95f91510-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/signaling 200 13ms","method":"POST","requestID":"95f91510-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"703db81127bbbf2ed7c8abe34b1a5960"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95fb5f00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659407,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"703db81127bbbf2ed7c8abe34b1a5960","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"703db81127bbbf2ed7c8abe34b1a5960","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea6a1d71-5164-4d68-aeef-ce0c873afd57","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.9886863} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.296182,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"95fb5f00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","object_type":"device","rebac_allow":false,"scope_allow":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":"95fb5f00-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.567114666Z"}]},"request_id":"7bb677c1-1f46-4c89-9569-b1d45f4342de","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222175.9919002} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95fb5f00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"703db81127bbbf2ed7c8abe34b1a5960","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/signaling 200 8ms","method":"POST","requestID":"95fb5f00-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"95fce5a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"95fd33c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"703db81127bbbf2ed7c8abe34b1a5960"} device-1 | {"level":"info","message":"GET /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354? 200 15ms","method":"GET","requestID":"703db81127bbbf2ed7c8abe34b1a5960","responseTime":15,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"703db81127bbbf2ed7c8abe34b1a5960"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.840157,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"95fce5a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"95fce5a0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.588147,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"95fd33c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"95fd33c0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3Nn0.Hiomgsby2ipkdn-U5sMmq4pextr0uojVvEjFd3FNHf4","level":"info","message":"auth send jwt","requestID":"c76c69e184c49a825b321b70a93f3a94"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c76c69e184c49a825b321b70a93f3a94","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c76c69e184c49a825b321b70a93f3a94"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.567114666Z"}]},"request_id":"9348ad9b-1fe7-451a-a0e1-7490de9ab304","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.0027125} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"95fce5a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.620612199Z"}]},"request_id":"9eb7a373-0012-4c8f-a24e-b9df1f7464b1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.0038507} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"95fd33c0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.603331,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c76c69e184c49a825b321b70a93f3a94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222176,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3Nn0.Hiomgsby2ipkdn-U5sMmq4pextr0uojVvEjFd3FNHf4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c76c69e184c49a825b321b70a93f3a94","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"95fce5a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354? 200 14ms","method":"GET","requestID":"95fce5a0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"95fd33c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3? 200 14ms","method":"GET","requestID":"95fd33c0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:13.620612199Z"}]},"request_id":"49925d35-f569-4a22-b33e-294e12a6a9b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.0110288} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Building connection plan","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c76c69e184c49a825b321b70a93f3a94","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"ee69b02c-b06d-45d5-ac05-bde574b32dff"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"1c3405fe-999c-471d-a1a5-3abef7bdea6b"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/file","uuid":"3224e822-ff0b-44e9-9c15-19734907c694"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"96006810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c76c69e184c49a825b321b70a93f3a94"} gateway-1 | {"time_local":"24/Sep/2024:23:56:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c76c69e184c49a825b321b70a93f3a94"} device-1 | {"level":"info","message":"GET /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3? 200 16ms","method":"GET","requestID":"c76c69e184c49a825b321b70a93f3a94","responseTime":16,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.843736,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"96006810-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222175,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3NX0.pMUpC9jk_qkTZK5OCCsae1ho0UCl2XiUg9hFlwIr1-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"96006810-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"3cb3569b-1a2d-4469-b536-2690ee49343c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.0277} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f9ca7c1-8196-499c-8de2-628d27f39de2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.027909} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"96006810-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"96006810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"96006810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8'","requestID":"96006810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8'","requestID":"96006810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"96006810-7ad0-11ef-9247-9909de679d1e"} 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":"96006810-7ad0-11ef-9247-9909de679d1e","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":"96006810-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3caacc4304dfbdd683ae0e3400ad8fe1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"96087e60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"099f471d-550e-483a-9377-f96c6f157bfb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.0756762} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.094127,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"96087e60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","object_type":"device","rebac_allow":false,"scope_allow":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":"96087e60-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"c2ed451a-f0f8-4174-bdaa-087f6babd354","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c2ed451a-f0f8-4174-bdaa-087f6babd354","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"96087e60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/signaling 200 13ms","method":"POST","requestID":"96087e60-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"960ac850-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32d935e8-7e3c-4f70-9f61-c15bfd240834","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.090101} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.802267,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"960ac850-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","object_type":"device","rebac_allow":false,"scope_allow":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":"960ac850-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 3099320632700147988 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:MQIm\r\na=ice-pwd:03ZnXb/kDBjdzC2W3LUxKROD\r\na=ice-options:trickle\r\na=fingerprint:sha-256 8E:C3:54:75:0C:1D:78:66:BD:75:8C:AA:9F:77:55:EF:24:88:51:93:CF:86:5F:11:D8:65:B2:C7:B9:9A:BE: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":"c2ed451a-f0f8-4174-bdaa-087f6babd354","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"960ac850-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/signaling 200 12ms","method":"POST","requestID":"960ac850-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 6902231138904281690 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:p/+b\r\na=ice-pwd:Zx4dh4j31keBjFK9Wo5C32aI\r\na=ice-options:trickle\r\na=fingerprint:sha-256 35:F5:E2:BE:18:5A:1A:80:A6:DA:BC:A9:F6:DF:5F:69:94:84:BB:4F:D6:AA:B5:CD:85:8F:84:EF:05:E5:52:7E\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:403300333 1 udp 2113937151 f4a8ca60-982a-4dc2-8c9e-11533073dda1.local 38412 typ host generation 0 ufrag p/+b network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2334293758 1 udp 1677729535 141.24.211.56 38412 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag p/+b network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","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/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3'"} device-1 | {"content":{"candidate":"candidate:1747026632 1 udp 2113937151 14490d33-cd1f-44ef-89f8-8889169c5b63.local 40269 typ host generation 0 ufrag MQIm network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c2ed451a-f0f8-4174-bdaa-087f6babd354","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3960268983 1 udp 1677729535 141.24.211.56 40269 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag MQIm network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c2ed451a-f0f8-4174-bdaa-087f6babd354","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/c2ed451a-f0f8-4174-bdaa-087f6babd354'"} device-1 | {"device":"c2ed451a-f0f8-4174-bdaa-087f6babd354","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"c2ed451a-f0f8-4174-bdaa-087f6babd354","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b7081c68-c5f1-4900-85d9-17fa16efe4e8","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8fa304522c55c7bbe4da8896bdcf03be","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8fa304522c55c7bbe4da8896bdcf03be","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","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":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8"}}},"level":"info","message":"received a callback","requestID":"8fa304522c55c7bbe4da8896bdcf03be"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"8fa304522c55c7bbe4da8896bdcf03be","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"c2ed451a-f0f8-4174-bdaa-087f6babd354","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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":"8fa304522c55c7bbe4da8896bdcf03be"} device-1 | {"device":"1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"b7081c68-c5f1-4900-85d9-17fa16efe4e8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b7081c68-c5f1-4900-85d9-17fa16efe4e8","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/b7081c68-c5f1-4900-85d9-17fa16efe4e8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b7081c68-c5f1-4900-85d9-17fa16efe4e8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"28c4e4dffb0dbb12142d362ef0f482cf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"28c4e4dffb0dbb12142d362ef0f482cf","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8"}}},"level":"info","message":"received a callback","requestID":"28c4e4dffb0dbb12142d362ef0f482cf"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"96174b70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb7081c68-c5f1-4900-85d9-17fa16efe4e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9d8f423-38c1-474c-b5e0-91e4791a245b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.1726046} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.087938,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"96174b70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8","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":"96174b70-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"96174b70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8 200 10ms","method":"GET","requestID":"96174b70-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"28c4e4dffb0dbb12142d362ef0f482cf","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"28c4e4dffb0dbb12142d362ef0f482cf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"961c5480-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21873183-32df-4e44-ae59-bef528d67bf9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.2059028} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.995963,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"961c5480-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","object_type":"device","rebac_allow":false,"scope_allow":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":"961c5480-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"961c5480-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/signaling 200 11ms","method":"POST","requestID":"961c5480-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"961e5050-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ecc0826c-f00d-463e-827a-4da9dffe6a5e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.2179704} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.458839,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"961e5050-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"961e5050-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"961e5050-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/signaling 200 9ms","method":"POST","requestID":"961e5050-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3Nn0.Hiomgsby2ipkdn-U5sMmq4pextr0uojVvEjFd3FNHf4","level":"info","message":"auth send jwt","requestID":"f4697e18d1cafb90f8e33b6e2e6d1d32"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f4697e18d1cafb90f8e33b6e2e6d1d32","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320","requestID":"f4697e18d1cafb90f8e33b6e2e6d1d32"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.14957,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f4697e18d1cafb90f8e33b6e2e6d1d32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222176,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3Nn0.Hiomgsby2ipkdn-U5sMmq4pextr0uojVvEjFd3FNHf4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f4697e18d1cafb90f8e33b6e2e6d1d32","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320","requestID":"f4697e18d1cafb90f8e33b6e2e6d1d32"} gateway-1 | {"time_local":"24/Sep/2024:23:56:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320 HTTP/1.1","status": "200","body_bytes_sent":"851","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f4697e18d1cafb90f8e33b6e2e6d1d32"} experiment-1 | {"level":"info","message":"GET /experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320 200 17ms","method":"GET","requestID":"f4697e18d1cafb90f8e33b6e2e6d1d32","responseTime":17,"status":200,"url":"/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3Nn0.Hiomgsby2ipkdn-U5sMmq4pextr0uojVvEjFd3FNHf4","level":"info","message":"auth send jwt","requestID":"21d72933826337ca0b21481007ff2547"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"21d72933826337ca0b21481007ff2547","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320","requestID":"21d72933826337ca0b21481007ff2547"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.32353,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"21d72933826337ca0b21481007ff2547","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222176,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3Nn0.Hiomgsby2ipkdn-U5sMmq4pextr0uojVvEjFd3FNHf4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"21d72933826337ca0b21481007ff2547","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Attempting to finish experiment","requestID":"21d72933826337ca0b21481007ff2547"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"963dbf30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.161671,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"963dbf30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222176,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3Nn0.Hiomgsby2ipkdn-U5sMmq4pextr0uojVvEjFd3FNHf4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"963dbf30-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8","device":"c2ed451a-f0f8-4174-bdaa-087f6babd354","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8","device":"1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","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/b7081c68-c5f1-4900-85d9-17fa16efe4e8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b7081c68-c5f1-4900-85d9-17fa16efe4e8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb7081c68-c5f1-4900-85d9-17fa16efe4e8': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb7081c68-c5f1-4900-85d9-17fa16efe4e8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"a79b6de7-5834-400d-a395-9d133f6ec22d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.4409223} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"636722a5dd229924ecda07e533b2e49b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b2936af-cc35-4ac5-a93f-86f02f6db6f3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.4411707} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"636722a5dd229924ecda07e533b2e49b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8"}}},"level":"info","message":"received a callback","requestID":"636722a5dd229924ecda07e533b2e49b"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2d0e7904a6403576bedb4e62c587edad","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 9ms","method":"POST","requestID":"963dbf30-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2d0e7904a6403576bedb4e62c587edad","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8"}}},"level":"info","message":"received a callback","requestID":"2d0e7904a6403576bedb4e62c587edad"} device-1 | {"data":{"peerconnection":"b7081c68-c5f1-4900-85d9-17fa16efe4e8","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"963dbf30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8 204 44ms","method":"DELETE","requestID":"963dbf30-7ad0-11ef-9247-9909de679d1e","responseTime":44,"status":204,"url":"/peerconnections/b7081c68-c5f1-4900-85d9-17fa16efe4e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"},"level":"info","message":"Successfully finished experiment","requestID":"21d72933826337ca0b21481007ff2547"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"96478330-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38f97ac5-9468-4044-951e-713a49baca72","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.4896765} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.416426,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"96478330-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3","object_type":"device","rebac_allow":false,"scope_allow":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":"96478330-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"96478330-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/signaling 200 12ms","method":"POST","requestID":"96478330-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F293bb1f2-d3de-421b-8ee1-5abf3b75f320': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F293bb1f2-d3de-421b-8ee1-5abf3b75f320","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"aab106b6-6f8d-49f2-b5ea-1ce32a9579bc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.496499} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca44b369-b196-4bd7-b12d-c7a777b16f2d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.4969482} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9649cd20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"21d72933826337ca0b21481007ff2547","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2ed451a-f0f8-4174-bdaa-087f6babd354","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"582aa65f-adf3-423b-b9c9-7d184307ceb9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.505119} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.21498,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9649cd20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354","object_type":"device","rebac_allow":false,"scope_allow":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":"9649cd20-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9649cd20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/signaling 200 13ms","method":"POST","requestID":"9649cd20-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320","requestID":"21d72933826337ca0b21481007ff2547"} gateway-1 | {"time_local":"24/Sep/2024:23:56:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21d72933826337ca0b21481007ff2547"} experiment-1 | {"level":"info","message":"DELETE /experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320 204 166ms","method":"DELETE","requestID":"21d72933826337ca0b21481007ff2547","responseTime":166,"status":204,"url":"/experiments/293bb1f2-d3de-421b-8ee1-5abf3b75f320"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"636722a5dd229924ecda07e533b2e49b","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"636722a5dd229924ecda07e533b2e49b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"2d0e7904a6403576bedb4e62c587edad","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"2d0e7904a6403576bedb4e62c587edad"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3Nn0.Hiomgsby2ipkdn-U5sMmq4pextr0uojVvEjFd3FNHf4","level":"info","message":"auth send jwt","requestID":"112eddee0a8f5b4454b01f28f1596a24"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"112eddee0a8f5b4454b01f28f1596a24","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"112eddee0a8f5b4454b01f28f1596a24"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.888968,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"112eddee0a8f5b4454b01f28f1596a24","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222176,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3Nn0.Hiomgsby2ipkdn-U5sMmq4pextr0uojVvEjFd3FNHf4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"112eddee0a8f5b4454b01f28f1596a24","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2974","request_time":"0.903","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c5ca20af43efd449e0742c389210e8e5"} gateway-1 | {"time_local":"24/Sep/2024:23:56:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2973","request_time":"0.914","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"94d4d94598fac68f244d74dcda18ab13"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1e04a9ce-4620-4ad9-8aa6-a1dbcb71e4f3' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c2ed451a-f0f8-4174-bdaa-087f6babd354' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9b7f2060-9db8-4c69-9f61-41fa37987c22","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.59893} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"112eddee0a8f5b4454b01f28f1596a24","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a61c95e-3ea3-43e0-8f70-9da71c6433e8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.6041412} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"112eddee0a8f5b4454b01f28f1596a24","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"8c9f84d8-5710-40ec-a10a-bcc2a66fc466","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.6152017} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed14b62d-96b1-4084-b67e-5c03ce054b5f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.6154444} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"112eddee0a8f5b4454b01f28f1596a24","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.615168456Z"}]},"request_id":"ca1747fc-a35c-432d-8e8f-233fa69fc3e6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.6199868} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"112eddee0a8f5b4454b01f28f1596a24","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"112eddee0a8f5b4454b01f28f1596a24"} gateway-1 | {"time_local":"24/Sep/2024:23:56:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"112eddee0a8f5b4454b01f28f1596a24"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"112eddee0a8f5b4454b01f28f1596a24","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3Nn0.Hiomgsby2ipkdn-U5sMmq4pextr0uojVvEjFd3FNHf4","level":"info","message":"auth send jwt","requestID":"738cb5217f1ecb386a441518142860af"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"738cb5217f1ecb386a441518142860af","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"738cb5217f1ecb386a441518142860af"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.845012,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"738cb5217f1ecb386a441518142860af","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222176,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3Nn0.Hiomgsby2ipkdn-U5sMmq4pextr0uojVvEjFd3FNHf4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"738cb5217f1ecb386a441518142860af","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f1e49f2b-ff6b-4371-8f68-8c789f562af0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.6463976} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"738cb5217f1ecb386a441518142860af","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31b19e31-5eb6-4214-bde5-f2dc3cab7321","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.651899} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"738cb5217f1ecb386a441518142860af","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"380f51af-dd59-4868-b0cf-d26a16bf26f0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.6664166} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b8de5b0-b0b0-4bb8-b977-e096f81fcc44","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.6665645} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"738cb5217f1ecb386a441518142860af","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.666397931Z"}]},"request_id":"b07f5fa7-741d-496c-a1fa-bf3a10150dae","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222176.671007} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"738cb5217f1ecb386a441518142860af","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"738cb5217f1ecb386a441518142860af"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"738cb5217f1ecb386a441518142860af","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"738cb5217f1ecb386a441518142860af"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3N30.DrG6bo8iSsePHDXNQhWXsyKQI3K15XiUPi43B_9CcQk","level":"info","message":"auth send jwt","requestID":"38c379b204344e7fc0ef2cf9c3cdceb6"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"38c379b204344e7fc0ef2cf9c3cdceb6","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"38c379b204344e7fc0ef2cf9c3cdceb6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.766595,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"38c379b204344e7fc0ef2cf9c3cdceb6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222177,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3N30.DrG6bo8iSsePHDXNQhWXsyKQI3K15XiUPi43B_9CcQk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"38c379b204344e7fc0ef2cf9c3cdceb6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.666397931Z"}]},"request_id":"f5e714cb-dffa-4f99-b380-176af1b248c0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222177.161143} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"38c379b204344e7fc0ef2cf9c3cdceb6","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ec493f6-f66e-421d-845b-cf567b0f16e0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222177.1701915} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"38c379b204344e7fc0ef2cf9c3cdceb6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.666397931Z"}]},"request_id":"07c8de85-3559-4254-947e-4b73aeb5e307","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222177.183177} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"38c379b204344e7fc0ef2cf9c3cdceb6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"38c379b204344e7fc0ef2cf9c3cdceb6"} device-1 | {"level":"info","message":"PATCH /devices/b69662fd-7217-491c-ab71-4341b60812de 200 39ms","method":"PATCH","requestID":"38c379b204344e7fc0ef2cf9c3cdceb6","responseTime":39,"status":200,"url":"/devices/b69662fd-7217-491c-ab71-4341b60812de"} gateway-1 | {"time_local":"24/Sep/2024:23:56:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b69662fd-7217-491c-ab71-4341b60812de HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"38c379b204344e7fc0ef2cf9c3cdceb6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3N30.DrG6bo8iSsePHDXNQhWXsyKQI3K15XiUPi43B_9CcQk","level":"info","message":"auth send jwt","requestID":"9cee599fc97b85ca1a1e63089a8864f8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9cee599fc97b85ca1a1e63089a8864f8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9cee599fc97b85ca1a1e63089a8864f8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.582364,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9cee599fc97b85ca1a1e63089a8864f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222177,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3N30.DrG6bo8iSsePHDXNQhWXsyKQI3K15XiUPi43B_9CcQk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9cee599fc97b85ca1a1e63089a8864f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9cee599fc97b85ca1a1e63089a8864f8"} gateway-1 | {"time_local":"24/Sep/2024:23:56:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b69662fd-7217-491c-ab71-4341b60812de/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"9cee599fc97b85ca1a1e63089a8864f8"} device-1 | {"level":"info","message":"POST /devices/b69662fd-7217-491c-ab71-4341b60812de/websocket 200 20ms","method":"POST","requestID":"9cee599fc97b85ca1a1e63089a8864f8","responseTime":20,"status":200,"url":"/devices/b69662fd-7217-491c-ab71-4341b60812de/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c73b857866762e37e7bbe09f1aa0c912","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c73b857866762e37e7bbe09f1aa0c912","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/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":"c73b857866762e37e7bbe09f1aa0c912"} device-1 | {"level":"info","message":"OPTIONS /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/websocket 200 1ms","method":"OPTIONS","requestID":"c73b857866762e37e7bbe09f1aa0c912","responseTime":1,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ","level":"info","message":"auth send jwt","requestID":"5eaef043f468aeabd9e4ed65c09e8e30"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5eaef043f468aeabd9e4ed65c09e8e30","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5eaef043f468aeabd9e4ed65c09e8e30"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.219293,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5eaef043f468aeabd9e4ed65c09e8e30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222178,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5eaef043f468aeabd9e4ed65c09e8e30","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5eaef043f468aeabd9e4ed65c09e8e30"} device-1 | {"level":"info","message":"POST /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/websocket 200 22ms","method":"POST","requestID":"5eaef043f468aeabd9e4ed65c09e8e30","responseTime":22,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/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":"5eaef043f468aeabd9e4ed65c09e8e30"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2262aa93fe78b8470c21a55379afba9d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2262aa93fe78b8470c21a55379afba9d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"2262aa93fe78b8470c21a55379afba9d"} device-1 | {"level":"info","message":"OPTIONS /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9? 200 1ms","method":"OPTIONS","requestID":"2262aa93fe78b8470c21a55379afba9d","responseTime":1,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ","level":"info","message":"auth send jwt","requestID":"0915f4e83899989c3362e1c575c89146"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0915f4e83899989c3362e1c575c89146","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"0915f4e83899989c3362e1c575c89146"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.026944,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0915f4e83899989c3362e1c575c89146","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222178,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0915f4e83899989c3362e1c575c89146","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.615168456Z"}]},"request_id":"cf27120e-02a3-4a98-ac1f-96842458dc1b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222178.772209} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0915f4e83899989c3362e1c575c89146","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be3a3b67-eb91-4df1-841d-a5b3a62a5867","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222178.7778404} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0915f4e83899989c3362e1c575c89146","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.615168456Z"}]},"request_id":"e283a289-7de2-4c79-833b-c641afa6fc27","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222178.789445} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0915f4e83899989c3362e1c575c89146","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"0915f4e83899989c3362e1c575c89146"} device-1 | {"level":"info","message":"PATCH /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9? 200 32ms","method":"PATCH","requestID":"0915f4e83899989c3362e1c575c89146","responseTime":32,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0915f4e83899989c3362e1c575c89146"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ","level":"info","message":"auth send jwt","requestID":"70e268e33a40ff0bc454a7deaf1e08ba"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"70e268e33a40ff0bc454a7deaf1e08ba","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"70e268e33a40ff0bc454a7deaf1e08ba"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.243643,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"70e268e33a40ff0bc454a7deaf1e08ba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222178,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"70e268e33a40ff0bc454a7deaf1e08ba","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.615168456Z"}]},"request_id":"4d504f5a-a605-4e30-a7f4-1906dfb72a8f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222178.8150826} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"70e268e33a40ff0bc454a7deaf1e08ba","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"70e268e33a40ff0bc454a7deaf1e08ba"} gateway-1 | {"time_local":"24/Sep/2024:23:56:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70e268e33a40ff0bc454a7deaf1e08ba"} device-1 | {"level":"info","message":"GET /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9? 200 20ms","method":"GET","requestID":"70e268e33a40ff0bc454a7deaf1e08ba","responseTime":20,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ","level":"info","message":"auth send jwt","requestID":"79c317a2e16da07f655aa2be877aeb15"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"79c317a2e16da07f655aa2be877aeb15","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"79c317a2e16da07f655aa2be877aeb15"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.158994,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"79c317a2e16da07f655aa2be877aeb15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222178,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"79c317a2e16da07f655aa2be877aeb15","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.666397931Z"}]},"request_id":"7b885a55-ac0e-43e1-9dc6-5f129d531080","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222178.8427472} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"79c317a2e16da07f655aa2be877aeb15","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"79c317a2e16da07f655aa2be877aeb15"} gateway-1 | {"time_local":"24/Sep/2024:23:56:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b69662fd-7217-491c-ab71-4341b60812de? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"79c317a2e16da07f655aa2be877aeb15"} device-1 | {"level":"info","message":"GET /devices/b69662fd-7217-491c-ab71-4341b60812de? 200 20ms","method":"GET","requestID":"79c317a2e16da07f655aa2be877aeb15","responseTime":20,"status":200,"url":"/devices/b69662fd-7217-491c-ab71-4341b60812de?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ","level":"info","message":"auth send jwt","requestID":"d33bf33aefdec84372f6f126d48c36db"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d33bf33aefdec84372f6f126d48c36db","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d33bf33aefdec84372f6f126d48c36db"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.355307,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d33bf33aefdec84372f6f126d48c36db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222178,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d33bf33aefdec84372f6f126d48c36db","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Attempting to run experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Attempting to book experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Successfully booked experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97b87850-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97b8c670-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875305,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97b87850-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222178,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"97b87850-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.812607,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97b8c670-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222178,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"97b8c670-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.615168456Z"}]},"request_id":"5e8ecb2b-ca40-4351-a07a-d8965b7aa18e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222178.9110503} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"97b87850-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.666397931Z"}]},"request_id":"8787fb48-da18-4946-9e7d-fbb886961957","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222178.911935} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"97b8c670-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97b87850-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9? 200 17ms","method":"GET","requestID":"97b87850-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97b8c670-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/b69662fd-7217-491c-ab71-4341b60812de? 200 17ms","method":"GET","requestID":"97b8c670-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/b69662fd-7217-491c-ab71-4341b60812de?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Setting up experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Successfully set up experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97c39be0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97c41110-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97c48640-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.460488,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97c39be0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222178,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"97c39be0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.185055,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:18Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Successfully running experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97c41110-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222178,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"97c41110-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.669059,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:18Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d391466b-73a1-431c-94f8-ed0304cb8e8f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222178.9911187} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97c48640-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"97c48640-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.615168456Z"}]},"request_id":"10fbdaf9-8010-4047-a124-570998f208a6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222178.9942398} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.666397931Z"}]},"request_id":"e2ff7b20-5352-4890-b99e-476a0e3b7d2e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222178.996663} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97c48640-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/signaling 200 26ms","method":"POST","requestID":"97c48640-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 15ms","method":"POST","requestID":"97c39be0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 14ms","method":"POST","requestID":"97c41110-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F624400aa-b445-48c0-8f8a-c77ee04b87ef#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F624400aa-b445-48c0-8f8a-c77ee04b87ef","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"67ad0543-1b55-4186-bbf7-2bef6f068209","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.0126011} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97c96840-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0aea2810-961b-4d92-8d55-c627e7df4ef2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.0130281} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"d33bf33aefdec84372f6f126d48c36db","responseTime":27,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97c39be0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:19Z"} device-1 | {"level":"info","message":"GET /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9? 200 47ms","method":"GET","requestID":"97c39be0-7ad0-11ef-9247-9909de679d1e","responseTime":47,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97c41110-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/b69662fd-7217-491c-ab71-4341b60812de? 200 46ms","method":"GET","requestID":"97c41110-7ad0-11ef-9247-9909de679d1e","responseTime":46,"status":200,"url":"/devices/b69662fd-7217-491c-ab71-4341b60812de?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"760c813f-cd1f-40f7-83bf-58905685ac79","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.0246181} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.129105,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97c96840-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"97c96840-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d33bf33aefdec84372f6f126d48c36db"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97ccc3a0-7ad0-11ef-9247-9909de679d1e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"782","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d33bf33aefdec84372f6f126d48c36db"} experiment-1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"d33bf33aefdec84372f6f126d48c36db","responseTime":180,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97c96840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b69662fd-7217-491c-ab71-4341b60812de/signaling 200 25ms","method":"POST","requestID":"97c96840-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":200,"url":"/devices/b69662fd-7217-491c-ab71-4341b60812de/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"344be1ea-7827-40c0-ad25-45c85f773d6d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.0415907} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.64473,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:19Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OX0.hcK1VZFimMYlsvcr8DosuArLHY79LYTO0SlGAEGDEPM","level":"info","message":"auth send jwt","requestID":"19f9d7715e4af60d8b253a40140e47a2"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97ccc3a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","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 5ms","method":"GET","requestID":"19f9d7715e4af60d8b253a40140e47a2","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"97ccc3a0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"19f9d7715e4af60d8b253a40140e47a2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97ccc3a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/signaling 200 15ms","method":"POST","requestID":"97ccc3a0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.9255,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"19f9d7715e4af60d8b253a40140e47a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222179,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OX0.hcK1VZFimMYlsvcr8DosuArLHY79LYTO0SlGAEGDEPM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"19f9d7715e4af60d8b253a40140e47a2","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97cf5bb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56: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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.615168456Z"}]},"request_id":"157870c8-5223-4930-a58e-600356773409","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.0562901} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"19f9d7715e4af60d8b253a40140e47a2","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40a264b1-6fef-46ba-a236-de7d47eeb80e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.057051} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.292063,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97cf5bb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","object_type":"device","rebac_allow":false,"scope_allow":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":"97cf5bb0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"19f9d7715e4af60d8b253a40140e47a2"} gateway-1 | {"time_local":"24/Sep/2024:23:56:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19f9d7715e4af60d8b253a40140e47a2"} device-1 | {"level":"info","message":"GET /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9? 200 16ms","method":"GET","requestID":"19f9d7715e4af60d8b253a40140e47a2","responseTime":16,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97cf5bb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b69662fd-7217-491c-ab71-4341b60812de/signaling 200 10ms","method":"POST","requestID":"97cf5bb0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/b69662fd-7217-491c-ab71-4341b60812de/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97d17e90-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OX0.hcK1VZFimMYlsvcr8DosuArLHY79LYTO0SlGAEGDEPM","level":"info","message":"auth send jwt","requestID":"9e2ea13203cdb7267f853627e4946e40"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97d1a5a0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9e2ea13203cdb7267f853627e4946e40","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9e2ea13203cdb7267f853627e4946e40"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69671,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97d17e90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222178,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"97d17e90-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51848","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.073118,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97d1a5a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222178,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"97d1a5a0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.812942,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9e2ea13203cdb7267f853627e4946e40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222179,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OX0.hcK1VZFimMYlsvcr8DosuArLHY79LYTO0SlGAEGDEPM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9e2ea13203cdb7267f853627e4946e40","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.615168456Z"}]},"request_id":"ae1797b4-fa27-4b25-aac2-602450b36f6d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.0760536} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"97d17e90-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.666397931Z"}]},"request_id":"1485dc62-ffee-4097-8187-446173f614e2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.0784924} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"97d1a5a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:16.666397931Z"}]},"request_id":"677a5904-a5c6-44a4-ae42-9b4fcae692d5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.0809827} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9e2ea13203cdb7267f853627e4946e40","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97d17e90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9? 200 18ms","method":"GET","requestID":"97d17e90-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97d1a5a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/b69662fd-7217-491c-ab71-4341b60812de? 200 20ms","method":"GET","requestID":"97d1a5a0-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/b69662fd-7217-491c-ab71-4341b60812de?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9e2ea13203cdb7267f853627e4946e40"} gateway-1 | {"time_local":"24/Sep/2024:23:56:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b69662fd-7217-491c-ab71-4341b60812de? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9e2ea13203cdb7267f853627e4946e40"} device-1 | {"level":"info","message":"GET /devices/b69662fd-7217-491c-ab71-4341b60812de? 200 18ms","method":"GET","requestID":"9e2ea13203cdb7267f853627e4946e40","responseTime":18,"status":200,"url":"/devices/b69662fd-7217-491c-ab71-4341b60812de?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Building connection plan","requestID":"d33bf33aefdec84372f6f126d48c36db"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"6b421654-2ba0-482f-8bf9-4e56df29df85"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"224d56e9-191a-4891-a001-1290cf974ffd"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/file","uuid":"7e12f4de-3366-404c-9361-5a32f9938c6c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d33bf33aefdec84372f6f126d48c36db"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d33bf33aefdec84372f6f126d48c36db"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"97d52810-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.128347,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97d52810-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222178,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE3OH0.M4gxK9KeH-fSTHeyHbaMxNTvZ-hHREzZIEoKZ6KzeaQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"97d52810-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"c5cecbf4-723d-4ba5-b6ab-00f0cb0f7720","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.1019742} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"681fc122-460e-4807-9fed-e39080cbd86f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.1023417} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"97d52810-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"97d52810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"97d52810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0'","requestID":"97d52810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0'","requestID":"97d52810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"97d52810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"97d52810-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"97d52810-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d33bf33aefdec84372f6f126d48c36db"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97dd6570-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24398f82-3ad8-4a77-ac0d-727cd8138b15","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.14809} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.437602,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97dd6570-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"97dd6570-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97dd6570-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/signaling 200 10ms","method":"POST","requestID":"97dd6570-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97df3a30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:19Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6d3f427-a853-4973-ba36-649c0920aae3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222179.1609678} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.991816,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:19Z"} device-1 | {"device":"0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"97df3a30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","object_type":"device","rebac_allow":false,"scope_allow":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":"97df3a30-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"canTrickle":true},"device":"0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97df3a30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b69662fd-7217-491c-ab71-4341b60812de/signaling 200 12ms","method":"POST","requestID":"97df3a30-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/b69662fd-7217-491c-ab71-4341b60812de/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 7912644448337376774 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:/n91\r\na=ice-pwd:w459CRALgYsTIokm5KcMy5tr\r\na=ice-options:trickle\r\na=fingerprint:sha-256 15:72:18:0A:3B:6B:C7:3F:BB:98:15:2C:56:84:C9:93:F9:27:23:25:7E:A0:4F:93:35:1E:64:39:92:DC:EC:22\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"b69662fd-7217-491c-ab71-4341b60812de","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"32918f24-e2fa-46c9-8eea-eefe0bce17e0","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b69662fd-7217-491c-ab71-4341b60812de","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b69662fd-7217-491c-ab71-4341b60812de","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b69662fd-7217-491c-ab71-4341b60812de","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b69662fd-7217-491c-ab71-4341b60812de","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/32918f24-e2fa-46c9-8eea-eefe0bce17e0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"32918f24-e2fa-46c9-8eea-eefe0bce17e0","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"623929cfa11d9e630a0c3c0c140a4adc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"623929cfa11d9e630a0c3c0c140a4adc","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0"}}},"level":"info","message":"received a callback","requestID":"623929cfa11d9e630a0c3c0c140a4adc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"623929cfa11d9e630a0c3c0c140a4adc","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"623929cfa11d9e630a0c3c0c140a4adc"} device-1 | {"content":{"candidate":"candidate:1597227990 1 udp 2113937151 87a20f58-55ea-436f-a82a-5e381197ca52.local 36440 typ host generation 0 ufrag /n91 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3424150213 1 udp 1677729535 141.24.211.56 36440 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag /n91 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1916066103 1 udp 33562623 141.24.210.113 61609 typ relay raddr 141.24.211.56 rport 36440 generation 0 ufrag /n91 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","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/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9'"} device-1 | {"data":{"peerconnection":"32918f24-e2fa-46c9-8eea-eefe0bce17e0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b69662fd-7217-491c-ab71-4341b60812de","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"b69662fd-7217-491c-ab71-4341b60812de","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"32918f24-e2fa-46c9-8eea-eefe0bce17e0","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/32918f24-e2fa-46c9-8eea-eefe0bce17e0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"32918f24-e2fa-46c9-8eea-eefe0bce17e0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eca39eea91253857292c5b4f0ffaca85","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"eca39eea91253857292c5b4f0ffaca85","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0"}}},"level":"info","message":"received a callback","requestID":"eca39eea91253857292c5b4f0ffaca85"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"991f3440-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F32918f24-e2fa-46c9-8eea-eefe0bce17e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89358b6e-a83f-4878-87ea-42b298c5b863","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.2574925} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.568754,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"991f3440-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0","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":"991f3440-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"991f3440-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0 200 9ms","method":"GET","requestID":"991f3440-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"eca39eea91253857292c5b4f0ffaca85","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"eca39eea91253857292c5b4f0ffaca85"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9923c820-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1d5acfe-aee3-437f-ac46-01feb34135e4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.2879226} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.909255,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9923c820-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","object_type":"device","rebac_allow":false,"scope_allow":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":"9923c820-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9923c820-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b69662fd-7217-491c-ab71-4341b60812de/signaling 200 11ms","method":"POST","requestID":"9923c820-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/b69662fd-7217-491c-ab71-4341b60812de/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9925c3f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23c94d11-a4a3-4e6d-a4b9-0f3212425f5b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.3004422} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.570521,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9925c3f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9925c3f0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9925c3f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/signaling 200 11ms","method":"POST","requestID":"9925c3f0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4MX0.wfEUC0TD5Wpuu5tv1R8KItXojO-x4a2VBZOYqv9jn94","level":"info","message":"auth send jwt","requestID":"411abe0e35d3734340dbdaaa20bd4f8a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"411abe0e35d3734340dbdaaa20bd4f8a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef","requestID":"411abe0e35d3734340dbdaaa20bd4f8a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.185635,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"411abe0e35d3734340dbdaaa20bd4f8a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222181,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4MX0.wfEUC0TD5Wpuu5tv1R8KItXojO-x4a2VBZOYqv9jn94"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"411abe0e35d3734340dbdaaa20bd4f8a","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef","requestID":"411abe0e35d3734340dbdaaa20bd4f8a"} gateway-1 | {"time_local":"24/Sep/2024:23:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef HTTP/1.1","status": "200","body_bytes_sent":"855","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"411abe0e35d3734340dbdaaa20bd4f8a"} experiment-1 | {"level":"info","message":"GET /experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef 200 16ms","method":"GET","requestID":"411abe0e35d3734340dbdaaa20bd4f8a","responseTime":16,"status":200,"url":"/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4MX0.wfEUC0TD5Wpuu5tv1R8KItXojO-x4a2VBZOYqv9jn94","level":"info","message":"auth send jwt","requestID":"1446b9545339646e0f5dfaeba415c5ee"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1446b9545339646e0f5dfaeba415c5ee","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef","requestID":"1446b9545339646e0f5dfaeba415c5ee"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.525223,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1446b9545339646e0f5dfaeba415c5ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222181,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4MX0.wfEUC0TD5Wpuu5tv1R8KItXojO-x4a2VBZOYqv9jn94"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1446b9545339646e0f5dfaeba415c5ee","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Attempting to finish experiment","requestID":"1446b9545339646e0f5dfaeba415c5ee"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"994cd3f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.351943,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"994cd3f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222181,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4MX0.wfEUC0TD5Wpuu5tv1R8KItXojO-x4a2VBZOYqv9jn94"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"994cd3f0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0","device":"0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"b69662fd-7217-491c-ab71-4341b60812de","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b69662fd-7217-491c-ab71-4341b60812de","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b69662fd-7217-491c-ab71-4341b60812de","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/32918f24-e2fa-46c9-8eea-eefe0bce17e0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"32918f24-e2fa-46c9-8eea-eefe0bce17e0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F32918f24-e2fa-46c9-8eea-eefe0bce17e0': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F32918f24-e2fa-46c9-8eea-eefe0bce17e0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"571cbcf7-7d12-4763-869a-7d0b68e516af","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.5735633} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4b921ae-8b20-4ec6-98f8-111d9b0183db","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.5738661} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3ba6366f1af725eab1625ea7992c3495","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"994cd3f0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3ba6366f1af725eab1625ea7992c3495","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0"}}},"level":"info","message":"received a callback","requestID":"3ba6366f1af725eab1625ea7992c3495"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"733caa4ee3a496a93da68035ff4475be","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"733caa4ee3a496a93da68035ff4475be","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0"}}},"level":"info","message":"received a callback","requestID":"733caa4ee3a496a93da68035ff4475be"} device-1 | {"data":{"peerconnection":"32918f24-e2fa-46c9-8eea-eefe0bce17e0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"994cd3f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0 204 46ms","method":"DELETE","requestID":"994cd3f0-7ad0-11ef-9247-9909de679d1e","responseTime":46,"status":204,"url":"/peerconnections/32918f24-e2fa-46c9-8eea-eefe0bce17e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"},"level":"info","message":"Successfully finished experiment","requestID":"1446b9545339646e0f5dfaeba415c5ee"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"995649d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb69662fd-7217-491c-ab71-4341b60812de","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b09c4c6b-7b78-41ee-857d-16f4ac72ccf4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.6192799} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.569757,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"995649d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de","object_type":"device","rebac_allow":false,"scope_allow":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":"995649d0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"995649d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b69662fd-7217-491c-ab71-4341b60812de/signaling 200 11ms","method":"POST","requestID":"995649d0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/b69662fd-7217-491c-ab71-4341b60812de/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F624400aa-b445-48c0-8f8a-c77ee04b87ef': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F624400aa-b445-48c0-8f8a-c77ee04b87ef","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"c0820c4d-cc3e-4702-aa0f-dcdbf849c895","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.625647} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f214b55b-098c-4a21-ba12-d98134ef43e0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.625883} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"99586cb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"1446b9545339646e0f5dfaeba415c5ee","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eaf515fc-acf0-4675-824c-c0dbdf2aba7a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.6324072} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.553014,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"99586cb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9","object_type":"device","rebac_allow":false,"scope_allow":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":"99586cb0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"99586cb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/signaling 200 11ms","method":"POST","requestID":"99586cb0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef","requestID":"1446b9545339646e0f5dfaeba415c5ee"} gateway-1 | {"time_local":"24/Sep/2024:23:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1446b9545339646e0f5dfaeba415c5ee"} experiment-1 | {"level":"info","message":"DELETE /experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef 204 160ms","method":"DELETE","requestID":"1446b9545339646e0f5dfaeba415c5ee","responseTime":160,"status":204,"url":"/experiments/624400aa-b445-48c0-8f8a-c77ee04b87ef"} gateway-1 | {"time_local":"24/Sep/2024:23:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3318","request_time":"4.480","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"56397389f6b3370654d744985f780ede"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"3ba6366f1af725eab1625ea7992c3495","responseTime":123,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4MX0.wfEUC0TD5Wpuu5tv1R8KItXojO-x4a2VBZOYqv9jn94","level":"info","message":"auth send jwt","requestID":"edcd11951a777b61521f3b368cc158ab"} gateway-1 | {"time_local":"24/Sep/2024:23:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"3ba6366f1af725eab1625ea7992c3495"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"edcd11951a777b61521f3b368cc158ab","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"edcd11951a777b61521f3b368cc158ab"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"733caa4ee3a496a93da68035ff4475be","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"733caa4ee3a496a93da68035ff4475be"} gateway-1 | {"time_local":"24/Sep/2024:23:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2457","request_time":"2.979","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"709765f26db879cb2852c92df8ad863f"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b69662fd-7217-491c-ab71-4341b60812de' closed"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.783625,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"edcd11951a777b61521f3b368cc158ab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222181,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4MX0.wfEUC0TD5Wpuu5tv1R8KItXojO-x4a2VBZOYqv9jn94"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"edcd11951a777b61521f3b368cc158ab","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/0cb96c25-e7c6-4d6f-bf41-a4e8fac35ed9' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e6cb44b4-7dcd-405a-9b52-99595bd3ebeb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.7251668} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"edcd11951a777b61521f3b368cc158ab","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65c1c8f0-2176-41cc-9143-0ba5237507aa","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.7303321} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"edcd11951a777b61521f3b368cc158ab","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"2007ed1f-ed46-4f9b-bb6a-d8e1cbe16560","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.7399812} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21a030dd-4754-4941-8e0e-373135f86cf0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.7403047} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"edcd11951a777b61521f3b368cc158ab","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.739961289Z"}]},"request_id":"66df0066-aee7-41d4-9bd9-5142e0490d9f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.7444677} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"edcd11951a777b61521f3b368cc158ab","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"edcd11951a777b61521f3b368cc158ab"} gateway-1 | {"time_local":"24/Sep/2024:23:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"edcd11951a777b61521f3b368cc158ab"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"edcd11951a777b61521f3b368cc158ab","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4MX0.wfEUC0TD5Wpuu5tv1R8KItXojO-x4a2VBZOYqv9jn94","level":"info","message":"auth send jwt","requestID":"03a94f7c9c717ddabfeed739a164491a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"03a94f7c9c717ddabfeed739a164491a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"03a94f7c9c717ddabfeed739a164491a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.723179,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"03a94f7c9c717ddabfeed739a164491a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222181,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4MX0.wfEUC0TD5Wpuu5tv1R8KItXojO-x4a2VBZOYqv9jn94"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"03a94f7c9c717ddabfeed739a164491a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ed755383-77ca-417f-a685-ae97f1e18264","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.7738643} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"03a94f7c9c717ddabfeed739a164491a","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2cfed2a0-e00b-45aa-84e6-abcdbcc15ea6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.7783797} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"03a94f7c9c717ddabfeed739a164491a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"4b13f2c0-6558-46f8-ad1c-72a4062d78dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.788962} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a172f6e1-d9eb-4eec-88f3-b3dc3ce27679","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.7891262} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"03a94f7c9c717ddabfeed739a164491a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.788936792Z"}]},"request_id":"1d7f13cb-814e-4afb-a234-61fff8c9c29e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222181.7929466} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"03a94f7c9c717ddabfeed739a164491a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"03a94f7c9c717ddabfeed739a164491a"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"03a94f7c9c717ddabfeed739a164491a","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03a94f7c9c717ddabfeed739a164491a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Mn0.F5eNGPU7oBYje7fC-oC_YhbxhXCjpjV70UJ4OhzkTOs","level":"info","message":"auth send jwt","requestID":"ffdf78d44e9995254b764990bf064ebb"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ffdf78d44e9995254b764990bf064ebb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ffdf78d44e9995254b764990bf064ebb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117337,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ffdf78d44e9995254b764990bf064ebb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222182,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Mn0.F5eNGPU7oBYje7fC-oC_YhbxhXCjpjV70UJ4OhzkTOs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ffdf78d44e9995254b764990bf064ebb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.739961289Z"}]},"request_id":"8d46efda-e04c-4225-a15f-4c059cbbaff8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222182.283238} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ffdf78d44e9995254b764990bf064ebb","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"922e7a7d-3bcc-47cd-8cda-2bf496201983","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222182.2883918} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ffdf78d44e9995254b764990bf064ebb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.739961289Z"}]},"request_id":"59406987-2d08-4130-824b-65f66f2f7bdf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222182.3011248} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ffdf78d44e9995254b764990bf064ebb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ffdf78d44e9995254b764990bf064ebb"} gateway-1 | {"time_local":"24/Sep/2024:23:56:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"ffdf78d44e9995254b764990bf064ebb"} device-1 | {"level":"info","message":"PATCH /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2 200 35ms","method":"PATCH","requestID":"ffdf78d44e9995254b764990bf064ebb","responseTime":35,"status":200,"url":"/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Mn0.F5eNGPU7oBYje7fC-oC_YhbxhXCjpjV70UJ4OhzkTOs","level":"info","message":"auth send jwt","requestID":"a12a7dde9c6bf2dd238c1743e170828b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a12a7dde9c6bf2dd238c1743e170828b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a12a7dde9c6bf2dd238c1743e170828b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.236962,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a12a7dde9c6bf2dd238c1743e170828b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222182,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Mn0.F5eNGPU7oBYje7fC-oC_YhbxhXCjpjV70UJ4OhzkTOs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a12a7dde9c6bf2dd238c1743e170828b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a12a7dde9c6bf2dd238c1743e170828b"} device-1 | {"level":"info","message":"POST /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/websocket 200 21ms","method":"POST","requestID":"a12a7dde9c6bf2dd238c1743e170828b","responseTime":21,"status":200,"url":"/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"a12a7dde9c6bf2dd238c1743e170828b"} device-1 | {"level":"info","message":"device 'http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a1d172dd6ccdb22f2a19b82c88b1835c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a1d172dd6ccdb22f2a19b82c88b1835c","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/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":"a1d172dd6ccdb22f2a19b82c88b1835c"} device-1 | {"level":"info","message":"OPTIONS /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/websocket 200 1ms","method":"OPTIONS","requestID":"a1d172dd6ccdb22f2a19b82c88b1835c","responseTime":1,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4M30.-WcqoP_aK7u295ZUh6Jj9VgakuH-6RiV0RgVbwj4a-4","level":"info","message":"auth send jwt","requestID":"76707396409fee43e35bbd65e1ebbf3e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"76707396409fee43e35bbd65e1ebbf3e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"76707396409fee43e35bbd65e1ebbf3e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210356,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"76707396409fee43e35bbd65e1ebbf3e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222183,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4M30.-WcqoP_aK7u295ZUh6Jj9VgakuH-6RiV0RgVbwj4a-4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"76707396409fee43e35bbd65e1ebbf3e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"76707396409fee43e35bbd65e1ebbf3e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"76707396409fee43e35bbd65e1ebbf3e"} device-1 | {"level":"info","message":"POST /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/websocket 200 22ms","method":"POST","requestID":"76707396409fee43e35bbd65e1ebbf3e","responseTime":23,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ca05d2956415df8df58fb5700bd6df3b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ca05d2956415df8df58fb5700bd6df3b","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"ca05d2956415df8df58fb5700bd6df3b"} device-1 | {"level":"info","message":"OPTIONS /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d? 200 2ms","method":"OPTIONS","requestID":"ca05d2956415df8df58fb5700bd6df3b","responseTime":2,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4M30.-WcqoP_aK7u295ZUh6Jj9VgakuH-6RiV0RgVbwj4a-4","level":"info","message":"auth send jwt","requestID":"dcc4b6154f83535935192fcde3310950"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"dcc4b6154f83535935192fcde3310950","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"dcc4b6154f83535935192fcde3310950"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.214185,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dcc4b6154f83535935192fcde3310950","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222183,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4M30.-WcqoP_aK7u295ZUh6Jj9VgakuH-6RiV0RgVbwj4a-4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dcc4b6154f83535935192fcde3310950","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.788936792Z"}]},"request_id":"d1b4a113-0c4d-441c-be4a-79a00fef5e36","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222183.9172335} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dcc4b6154f83535935192fcde3310950","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53d58015-7058-4514-8673-1a3b64daa3ac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222183.9243207} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"dcc4b6154f83535935192fcde3310950","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.788936792Z"}]},"request_id":"f294cf6a-b0b6-4d39-b50f-e3ab0096b396","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222183.9368038} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dcc4b6154f83535935192fcde3310950","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"dcc4b6154f83535935192fcde3310950"} gateway-1 | {"time_local":"24/Sep/2024:23:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.047","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dcc4b6154f83535935192fcde3310950"} device-1 | {"level":"info","message":"PATCH /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d? 200 39ms","method":"PATCH","requestID":"dcc4b6154f83535935192fcde3310950","responseTime":39,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4M30.-WcqoP_aK7u295ZUh6Jj9VgakuH-6RiV0RgVbwj4a-4","level":"info","message":"auth send jwt","requestID":"0fe10e5d9d7e84c91ebafddea6e1cb86"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0fe10e5d9d7e84c91ebafddea6e1cb86","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0fe10e5d9d7e84c91ebafddea6e1cb86"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.338138,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0fe10e5d9d7e84c91ebafddea6e1cb86","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222183,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4M30.-WcqoP_aK7u295ZUh6Jj9VgakuH-6RiV0RgVbwj4a-4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0fe10e5d9d7e84c91ebafddea6e1cb86","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.739961289Z"}]},"request_id":"7c478425-a686-4ac4-a40d-96f8eadfcd11","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222183.9684422} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"0fe10e5d9d7e84c91ebafddea6e1cb86","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0fe10e5d9d7e84c91ebafddea6e1cb86"} gateway-1 | {"time_local":"24/Sep/2024:23:56:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0fe10e5d9d7e84c91ebafddea6e1cb86"} device-1 | {"level":"info","message":"GET /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2? 200 19ms","method":"GET","requestID":"0fe10e5d9d7e84c91ebafddea6e1cb86","responseTime":19,"status":200,"url":"/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4M30.-WcqoP_aK7u295ZUh6Jj9VgakuH-6RiV0RgVbwj4a-4","level":"info","message":"auth send jwt","requestID":"70320d166f30dc42208083f21af80118"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"70320d166f30dc42208083f21af80118","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"70320d166f30dc42208083f21af80118"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.335009,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"70320d166f30dc42208083f21af80118","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222183,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4M30.-WcqoP_aK7u295ZUh6Jj9VgakuH-6RiV0RgVbwj4a-4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"70320d166f30dc42208083f21af80118","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.788936792Z"}]},"request_id":"3c3f3341-ce89-4328-b053-97f6b5f1949f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222183.9948087} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"70320d166f30dc42208083f21af80118","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"70320d166f30dc42208083f21af80118"} gateway-1 | {"time_local":"24/Sep/2024:23:56:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70320d166f30dc42208083f21af80118"} device-1 | {"level":"info","message":"GET /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d? 200 17ms","method":"GET","requestID":"70320d166f30dc42208083f21af80118","responseTime":17,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio","level":"info","message":"auth send jwt","requestID":"4f7c81a836513665415c726aadc3e560"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4f7c81a836513665415c726aadc3e560","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4f7c81a836513665415c726aadc3e560"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.127637,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4f7c81a836513665415c726aadc3e560","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222184,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4f7c81a836513665415c726aadc3e560","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Attempting to run experiment","requestID":"4f7c81a836513665415c726aadc3e560"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Attempting to book experiment","requestID":"4f7c81a836513665415c726aadc3e560"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Successfully booked experiment","requestID":"4f7c81a836513665415c726aadc3e560"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9aca4c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9aca9a50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.605313,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9aca4c30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222184,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9aca4c30-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.46,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9aca9a50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222184,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9aca9a50-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.739961289Z"}]},"request_id":"0897b031-7166-4d29-a3da-181583987b5b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.060226} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9aca4c30-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.788936792Z"}]},"request_id":"8c6617b5-d012-4737-8c32-81eba835df0a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.0632584} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9aca4c30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9aca9a50-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2? 200 12ms","method":"GET","requestID":"9aca4c30-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9aca9a50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d? 200 16ms","method":"GET","requestID":"9aca9a50-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Setting up experiment","requestID":"4f7c81a836513665415c726aadc3e560"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4f7c81a836513665415c726aadc3e560"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4f7c81a836513665415c726aadc3e560"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4f7c81a836513665415c726aadc3e560"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4f7c81a836513665415c726aadc3e560"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4f7c81a836513665415c726aadc3e560"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4f7c81a836513665415c726aadc3e560"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Successfully set up experiment","requestID":"4f7c81a836513665415c726aadc3e560"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ad48560-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ad4d380-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ad521a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.048767,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Successfully running experiment","requestID":"4f7c81a836513665415c726aadc3e560"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ad48560-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222184,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9ad48560-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.075278,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ad4d380-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222184,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9ad4d380-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fcd20f18-25cf-4151-93c0-d862598135f4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.128052} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.624916,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ad521a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9ad521a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.788936792Z"}]},"request_id":"fb8ba7fe-6e96-4220-b756-a4eac590156f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.1305099} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9ad4d380-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.739961289Z"}]},"request_id":"3868f88f-7325-4b72-8222-7dbf40c79f5f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.1324737} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9ad48560-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ad521a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/signaling 200 13ms","method":"POST","requestID":"9ad521a0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ad7b9b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ad4d380-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d? 200 21ms","method":"GET","requestID":"9ad4d380-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ad48560-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2? 200 24ms","method":"GET","requestID":"9ad48560-7ad0-11ef-9247-9909de679d1e","responseTime":24,"status":200,"url":"/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be8195eb-f0cb-43ef-bf37-861b89719a40","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.1442804} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff434a686-ece4-4f7f-8e1d-583364f9196d#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff434a686-ece4-4f7f-8e1d-583364f9196d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"536beab2-161e-42f3-958d-b979fb14b077","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.1449318} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.290955,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ad7b9b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ad8a410-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9ad7b9b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"622443e0-3fa9-4250-8c5f-84b49613f03c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.1454308} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"4f7c81a836513665415c726aadc3e560","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ad7b9b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/signaling 200 9ms","method":"POST","requestID":"9ad7b9b0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b252b27-59bd-49f0-a00d-31f2d83dcf0a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.151512} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.12405,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ad8a410-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","object_type":"device","rebac_allow":false,"scope_allow":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":"9ad8a410-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4f7c81a836513665415c726aadc3e560"} experiment-1 | {"level":"info","message":"POST /experiments? 201 145ms","method":"POST","requestID":"4f7c81a836513665415c726aadc3e560","responseTime":145,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"782","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f7c81a836513665415c726aadc3e560"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ad8a410-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/signaling 200 11ms","method":"POST","requestID":"9ad8a410-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ada9fe0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio","level":"info","message":"auth send jwt","requestID":"c0e9946352bbdf1e07e72a58e5fe602a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c0e9946352bbdf1e07e72a58e5fe602a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0e9946352bbdf1e07e72a58e5fe602a"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75694dfc-8986-4dc2-87cb-217ad6243d47","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.162842} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.35696,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ada9fe0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","object_type":"device","rebac_allow":false,"scope_allow":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":"9ada9fe0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.580335,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c0e9946352bbdf1e07e72a58e5fe602a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222184,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c0e9946352bbdf1e07e72a58e5fe602a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ada9fe0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/signaling 200 10ms","method":"POST","requestID":"9ada9fe0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4f7c81a836513665415c726aadc3e560"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9adc74a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.739961289Z"}]},"request_id":"d3dd28eb-ab4c-48c9-b7f5-649cbbce90e2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.1713138} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9adc9bb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c0e9946352bbdf1e07e72a58e5fe602a","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.614334,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9adc74a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222184,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0e9946352bbdf1e07e72a58e5fe602a"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9adc74a0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.777502,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} gateway-1 | {"time_local":"24/Sep/2024:23:56:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0e9946352bbdf1e07e72a58e5fe602a"} device-1 | {"level":"info","message":"GET /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2? 200 14ms","method":"GET","requestID":"c0e9946352bbdf1e07e72a58e5fe602a","responseTime":14,"status":200,"url":"/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9adc9bb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222184,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9adc9bb0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio","level":"info","message":"auth send jwt","requestID":"c0dd65133edd2c38f5b6e72df9886b53"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.739961289Z"}]},"request_id":"212d7f50-1603-439f-bdda-2903ccfd1b18","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.1795611} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c0dd65133edd2c38f5b6e72df9886b53","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9adc74a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.788936792Z"}]},"request_id":"51ef9f92-8dc5-4647-a6de-fb6e45fa0b05","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.1804268} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0dd65133edd2c38f5b6e72df9886b53"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9adc9bb0-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644677,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c0dd65133edd2c38f5b6e72df9886b53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222184,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c0dd65133edd2c38f5b6e72df9886b53","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9adc74a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2? 200 16ms","method":"GET","requestID":"9adc74a0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9adc9bb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d? 200 16ms","method":"GET","requestID":"9adc9bb0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:21.788936792Z"}]},"request_id":"3879ca74-9a12-4147-8f4a-8122be43d710","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.1873882} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Building connection plan","requestID":"4f7c81a836513665415c726aadc3e560"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"ff13852e-0575-4976-9dc3-6eb658d87c62"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"5f4569b9-2da1-447f-8311-f7d56c74452e"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/file","uuid":"3583e46d-ea37-4390-a2ef-3ce9c1783a7c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4f7c81a836513665415c726aadc3e560"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4f7c81a836513665415c726aadc3e560"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"9adf81e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c0dd65133edd2c38f5b6e72df9886b53","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0dd65133edd2c38f5b6e72df9886b53"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.669557,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} device-1 | {"level":"info","message":"GET /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d? 200 13ms","method":"GET","requestID":"c0dd65133edd2c38f5b6e72df9886b53","responseTime":13,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0dd65133edd2c38f5b6e72df9886b53"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9adf81e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222184,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4NH0.5jWIxQB6s-Ljp2OlZroCKgrlMZp90v7PMk74XMPvkio"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9adf81e0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"010faa9b-6565-4c49-b940-455b79cdc642","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.2010188} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a67eeb33-0f23-43f3-98ec-4b9c825938a3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.2013464} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9adf81e0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"9adf81e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"9adf81e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a'","requestID":"9adf81e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a'","requestID":"9adf81e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"9adf81e0-7ad0-11ef-9247-9909de679d1e"} 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":"9adf81e0-7ad0-11ef-9247-9909de679d1e","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":"9adf81e0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4f7c81a836513665415c726aadc3e560"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ae79830-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"afcf72be-403c-4abb-84c9-7b554095498e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.2486308} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.728147,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ae79830-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","object_type":"device","rebac_allow":false,"scope_allow":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":"9ae79830-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"device":"4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ae79830-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/signaling 200 12ms","method":"POST","requestID":"9ae79830-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ae99400-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d52dbddc-9732-441f-ace1-276b47f694b9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222184.2609177} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.40268,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ae99400-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","object_type":"device","rebac_allow":false,"scope_allow":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":"9ae99400-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ae99400-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/signaling 200 8ms","method":"POST","requestID":"9ae99400-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/signaling"} device-1 | {"device":"03504958-9a6c-4dec-a5ec-d5ad71e6eea2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"275c3cd3-4643-4a9b-8201-d5f9b7fb600a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 4563326983775029395 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:UqyP\r\na=ice-pwd:hzgcqdU1GJHP1CKo7jv080g9\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A5:2A:83:59:BA:33:57:FB:4E:C9:74:CC:5C:7C:B7:67:45:78:87:26:B3:A5:17:B2:C0:88:FF:35:55:5E:8C:B0\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1785662813 1 udp 2113937151 b45348bd-5de6-4b5a-84ad-da6c4493df63.local 56423 typ host generation 0 ufrag UqyP network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:3997329186 1 udp 1677729535 141.24.211.56 56423 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag UqyP network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"275c3cd3-4643-4a9b-8201-d5f9b7fb600a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"389ef90038eb7d7eb8da965278acb15c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d'"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"389ef90038eb7d7eb8da965278acb15c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a"}}},"level":"info","message":"received a callback","requestID":"389ef90038eb7d7eb8da965278acb15c"} device-1 | {"device":"03504958-9a6c-4dec-a5ec-d5ad71e6eea2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"03504958-9a6c-4dec-a5ec-d5ad71e6eea2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"03504958-9a6c-4dec-a5ec-d5ad71e6eea2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"389ef90038eb7d7eb8da965278acb15c","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"389ef90038eb7d7eb8da965278acb15c"} device-1 | {"data":{"peerconnection":"275c3cd3-4643-4a9b-8201-d5f9b7fb600a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"03504958-9a6c-4dec-a5ec-d5ad71e6eea2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"03504958-9a6c-4dec-a5ec-d5ad71e6eea2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"275c3cd3-4643-4a9b-8201-d5f9b7fb600a","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","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/275c3cd3-4643-4a9b-8201-d5f9b7fb600a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"275c3cd3-4643-4a9b-8201-d5f9b7fb600a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d32f239ee6e728a58fa56ee2be18d5c1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d32f239ee6e728a58fa56ee2be18d5c1","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a"}}},"level":"info","message":"received a callback","requestID":"d32f239ee6e728a58fa56ee2be18d5c1"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9c276b30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F275c3cd3-4643-4a9b-8201-d5f9b7fb600a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3e8f967-bc37-477a-9db9-16d058f9ac35","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.3451135} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.934813,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9c276b30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a","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":"9c276b30-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9c276b30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a 200 11ms","method":"GET","requestID":"9c276b30-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"d32f239ee6e728a58fa56ee2be18d5c1","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"d32f239ee6e728a58fa56ee2be18d5c1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9c2c2620-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"080602f9-118f-48cb-8ed9-d5436e04344e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.3750014} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.569975,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9c2c2620-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","object_type":"device","rebac_allow":false,"scope_allow":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":"9c2c2620-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9c2c2620-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/signaling 200 9ms","method":"POST","requestID":"9c2c2620-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9c2dfae0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6938c645-958e-4008-95d7-af6dab9dca4a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.3871155} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.762576,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9c2dfae0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","object_type":"device","rebac_allow":false,"scope_allow":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":"9c2dfae0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9c2dfae0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/signaling 200 10ms","method":"POST","requestID":"9c2dfae0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Nn0._S96jhJo917ZMxdsZvPXc8rEunZUmAytjsazhPB6oyQ","level":"info","message":"auth send jwt","requestID":"ea02ef59454f31f0e6899df8dbdbb20d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ea02ef59454f31f0e6899df8dbdbb20d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f434a686-ece4-4f7f-8e1d-583364f9196d","requestID":"ea02ef59454f31f0e6899df8dbdbb20d"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.093655,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ea02ef59454f31f0e6899df8dbdbb20d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222186,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Nn0._S96jhJo917ZMxdsZvPXc8rEunZUmAytjsazhPB6oyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ea02ef59454f31f0e6899df8dbdbb20d","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f434a686-ece4-4f7f-8e1d-583364f9196d","requestID":"ea02ef59454f31f0e6899df8dbdbb20d"} gateway-1 | {"time_local":"24/Sep/2024:23:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f434a686-ece4-4f7f-8e1d-583364f9196d HTTP/1.1","status": "200","body_bytes_sent":"855","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea02ef59454f31f0e6899df8dbdbb20d"} experiment-1 | {"level":"info","message":"GET /experiments/f434a686-ece4-4f7f-8e1d-583364f9196d 200 16ms","method":"GET","requestID":"ea02ef59454f31f0e6899df8dbdbb20d","responseTime":16,"status":200,"url":"/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Nn0._S96jhJo917ZMxdsZvPXc8rEunZUmAytjsazhPB6oyQ","level":"info","message":"auth send jwt","requestID":"42fbb3db0a6093ea0381b3c785241f5e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"42fbb3db0a6093ea0381b3c785241f5e","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f434a686-ece4-4f7f-8e1d-583364f9196d","requestID":"42fbb3db0a6093ea0381b3c785241f5e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.229432,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"42fbb3db0a6093ea0381b3c785241f5e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222186,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Nn0._S96jhJo917ZMxdsZvPXc8rEunZUmAytjsazhPB6oyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"42fbb3db0a6093ea0381b3c785241f5e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Attempting to finish experiment","requestID":"42fbb3db0a6093ea0381b3c785241f5e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"9c4c7f60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.252401,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9c4c7f60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222186,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Nn0._S96jhJo917ZMxdsZvPXc8rEunZUmAytjsazhPB6oyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9c4c7f60-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a","device":"4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"03504958-9a6c-4dec-a5ec-d5ad71e6eea2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"03504958-9a6c-4dec-a5ec-d5ad71e6eea2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"03504958-9a6c-4dec-a5ec-d5ad71e6eea2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/275c3cd3-4643-4a9b-8201-d5f9b7fb600a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"275c3cd3-4643-4a9b-8201-d5f9b7fb600a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F275c3cd3-4643-4a9b-8201-d5f9b7fb600a': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F275c3cd3-4643-4a9b-8201-d5f9b7fb600a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"96748661-5d8e-4955-92e9-3a3af6008ff1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.606589} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9d8a1d6-a229-444b-bd6a-e50753f7b587","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.6070335} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6ed2c6a29cc297de68593c4f5aac0dbb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 10ms","method":"POST","requestID":"9c4c7f60-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6ed2c6a29cc297de68593c4f5aac0dbb","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c47335b15942d7bb092432ce35c46e17","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a"}}},"level":"info","message":"received a callback","requestID":"6ed2c6a29cc297de68593c4f5aac0dbb"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c47335b15942d7bb092432ce35c46e17","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a"}}},"level":"info","message":"received a callback","requestID":"c47335b15942d7bb092432ce35c46e17"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"9c4c7f60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a 204 48ms","method":"DELETE","requestID":"9c4c7f60-7ad0-11ef-9247-9909de679d1e","responseTime":48,"status":204,"url":"/peerconnections/275c3cd3-4643-4a9b-8201-d5f9b7fb600a"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"},"level":"info","message":"Successfully finished experiment","requestID":"42fbb3db0a6093ea0381b3c785241f5e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9c5754d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8fafee6b-f241-4753-8497-7b806bb8c81c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.6590273} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.897163,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9c5754d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d","object_type":"device","rebac_allow":false,"scope_allow":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":"9c5754d0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9c5754d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/signaling 200 11ms","method":"POST","requestID":"9c5754d0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff434a686-ece4-4f7f-8e1d-583364f9196d': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff434a686-ece4-4f7f-8e1d-583364f9196d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"c2b5872c-7fcd-45e2-8c9a-dfc601950146","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.6660962} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94683e7c-9c5e-4a1b-be6e-2eb204190efc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.6664793} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9c5977b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"42fbb3db0a6093ea0381b3c785241f5e","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03504958-9a6c-4dec-a5ec-d5ad71e6eea2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38d58ae2-c47b-4ff1-98e8-887ffa88a028","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.672989} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.649266,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9c5977b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2","object_type":"device","rebac_allow":false,"scope_allow":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":"9c5977b0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9c5977b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/signaling 200 12ms","method":"POST","requestID":"9c5977b0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f434a686-ece4-4f7f-8e1d-583364f9196d","requestID":"42fbb3db0a6093ea0381b3c785241f5e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f434a686-ece4-4f7f-8e1d-583364f9196d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42fbb3db0a6093ea0381b3c785241f5e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2925","request_time":"4.392","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"72e11c4b5425951bfbacf41d74405da4"} experiment-1 | {"level":"info","message":"DELETE /experiments/f434a686-ece4-4f7f-8e1d-583364f9196d 204 161ms","method":"DELETE","requestID":"42fbb3db0a6093ea0381b3c785241f5e","responseTime":161,"status":204,"url":"/experiments/f434a686-ece4-4f7f-8e1d-583364f9196d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"6ed2c6a29cc297de68593c4f5aac0dbb","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"6ed2c6a29cc297de68593c4f5aac0dbb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"c47335b15942d7bb092432ce35c46e17","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"c47335b15942d7bb092432ce35c46e17"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Nn0._S96jhJo917ZMxdsZvPXc8rEunZUmAytjsazhPB6oyQ","level":"info","message":"auth send jwt","requestID":"4216ae12bc3c2c1a26a558692aa16cc6"} gateway-1 | {"time_local":"24/Sep/2024:23:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2462","request_time":"2.885","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f0f9c63b33ec4fbbd33577480b5b7db0"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"4216ae12bc3c2c1a26a558692aa16cc6","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4216ae12bc3c2c1a26a558692aa16cc6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.968311,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:26Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/03504958-9a6c-4dec-a5ec-d5ad71e6eea2' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4216ae12bc3c2c1a26a558692aa16cc6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222186,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Nn0._S96jhJo917ZMxdsZvPXc8rEunZUmAytjsazhPB6oyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4216ae12bc3c2c1a26a558692aa16cc6","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/4d8fec77-b8bc-4f9a-bcee-e25493c27f5d' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"69ccf8f9-21d3-4b71-8c17-830b374b7ff1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.7611303} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4216ae12bc3c2c1a26a558692aa16cc6","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4bc747e9-b0e5-4704-be05-a222f0144566","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.7676203} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4216ae12bc3c2c1a26a558692aa16cc6","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"399bc6c8-d720-430e-b427-4b29d3ee1030","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.777508} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa6bf94a-f015-4933-8c67-5a7a3697481e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.7778478} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"4216ae12bc3c2c1a26a558692aa16cc6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.777485629Z"}]},"request_id":"59ba5efa-39d9-4a0b-bb20-97a62f0ff3fb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.7821822} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4216ae12bc3c2c1a26a558692aa16cc6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4216ae12bc3c2c1a26a558692aa16cc6"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"4216ae12bc3c2c1a26a558692aa16cc6","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4216ae12bc3c2c1a26a558692aa16cc6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Nn0._S96jhJo917ZMxdsZvPXc8rEunZUmAytjsazhPB6oyQ","level":"info","message":"auth send jwt","requestID":"58f4b666198687fc6fb2612bdac3e762"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"58f4b666198687fc6fb2612bdac3e762","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"58f4b666198687fc6fb2612bdac3e762"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.800013,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"58f4b666198687fc6fb2612bdac3e762","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222186,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4Nn0._S96jhJo917ZMxdsZvPXc8rEunZUmAytjsazhPB6oyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"58f4b666198687fc6fb2612bdac3e762","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"37e49cac-5e31-49b7-b5a1-f011a1a4f1ec","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.8047593} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"58f4b666198687fc6fb2612bdac3e762","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f6a22ad-14c5-4689-ab40-7d8037a5e3ae","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.809437} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"58f4b666198687fc6fb2612bdac3e762","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"e6dfeaf7-a2fd-4603-b25f-011eeccad988","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.8247101} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39647574-617e-4606-84a2-b45b86c7868f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.8249154} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"58f4b666198687fc6fb2612bdac3e762","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.824688527Z"}]},"request_id":"76947e5e-ab3a-42a6-aa60-b1279c897943","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222186.82938} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"58f4b666198687fc6fb2612bdac3e762","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"58f4b666198687fc6fb2612bdac3e762"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"58f4b666198687fc6fb2612bdac3e762","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58f4b666198687fc6fb2612bdac3e762"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk","level":"info","message":"auth send jwt","requestID":"ece80140c7e89c6e7119808d72e9a323"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ece80140c7e89c6e7119808d72e9a323","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk","level":"info","message":"auth send jwt","requestID":"8d844fa10c2ae3842786896cf37cc46a"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8d844fa10c2ae3842786896cf37cc46a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ece80140c7e89c6e7119808d72e9a323"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8d844fa10c2ae3842786896cf37cc46a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.816312,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ece80140c7e89c6e7119808d72e9a323","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ece80140c7e89c6e7119808d72e9a323","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.848265,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8d844fa10c2ae3842786896cf37cc46a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8d844fa10c2ae3842786896cf37cc46a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.824688527Z"}]},"request_id":"acb5af65-fec9-43f1-aacd-168266d8e2d3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.3049338} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ece80140c7e89c6e7119808d72e9a323","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.777485629Z"}]},"request_id":"f4803355-ef6e-4b58-b079-1590304a45db","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.3057063} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8d844fa10c2ae3842786896cf37cc46a","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf71faa0-2a53-4713-9033-a6a9307f43e1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.310309} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ece80140c7e89c6e7119808d72e9a323","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c1a057f-ed07-40ec-a31d-01520c31c30f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.3117163} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8d844fa10c2ae3842786896cf37cc46a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.777485629Z"}]},"request_id":"28eba1fc-b140-483a-93ea-9ef6d112ef6a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.315235} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8d844fa10c2ae3842786896cf37cc46a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8d844fa10c2ae3842786896cf37cc46a"} device-1 | {"level":"info","message":"PATCH /devices/69e9259a-6272-476b-b74f-3093194b0abe 200 23ms","method":"PATCH","requestID":"8d844fa10c2ae3842786896cf37cc46a","responseTime":23,"status":200,"url":"/devices/69e9259a-6272-476b-b74f-3093194b0abe"} gateway-1 | {"time_local":"24/Sep/2024:23:56:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/69e9259a-6272-476b-b74f-3093194b0abe HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.032","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"8d844fa10c2ae3842786896cf37cc46a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk","level":"info","message":"auth send jwt","requestID":"6a4adb743e5c9762769fc274c2ea304b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6a4adb743e5c9762769fc274c2ea304b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6a4adb743e5c9762769fc274c2ea304b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.931461,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6a4adb743e5c9762769fc274c2ea304b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6a4adb743e5c9762769fc274c2ea304b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.824688527Z"}]},"request_id":"91a1d65f-a2d6-4f1d-8bc0-b1a405717483","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.3278494} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ece80140c7e89c6e7119808d72e9a323","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ece80140c7e89c6e7119808d72e9a323"} gateway-1 | {"time_local":"24/Sep/2024:23:56:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"ece80140c7e89c6e7119808d72e9a323"} device-1 | {"level":"info","message":"PATCH /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884 200 38ms","method":"PATCH","requestID":"ece80140c7e89c6e7119808d72e9a323","responseTime":38,"status":200,"url":"/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk","level":"info","message":"auth send jwt","requestID":"a2d4ecf7a3b62cff9a77a3afc1bfa7c3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a2d4ecf7a3b62cff9a77a3afc1bfa7c3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a2d4ecf7a3b62cff9a77a3afc1bfa7c3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.653496,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a2d4ecf7a3b62cff9a77a3afc1bfa7c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a2d4ecf7a3b62cff9a77a3afc1bfa7c3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6a4adb743e5c9762769fc274c2ea304b"} gateway-1 | {"time_local":"24/Sep/2024:23:56:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/69e9259a-6272-476b-b74f-3093194b0abe/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"6a4adb743e5c9762769fc274c2ea304b"} device-1 | {"level":"info","message":"POST /devices/69e9259a-6272-476b-b74f-3093194b0abe/websocket 200 19ms","method":"POST","requestID":"6a4adb743e5c9762769fc274c2ea304b","responseTime":19,"status":200,"url":"/devices/69e9259a-6272-476b-b74f-3093194b0abe/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a2d4ecf7a3b62cff9a77a3afc1bfa7c3"} device-1 | {"level":"info","message":"POST /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/websocket 200 14ms","method":"POST","requestID":"a2d4ecf7a3b62cff9a77a3afc1bfa7c3","responseTime":14,"status":200,"url":"/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"a2d4ecf7a3b62cff9a77a3afc1bfa7c3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk","level":"info","message":"auth send jwt","requestID":"1624ce0a308bb10b7e0d4ad9d4fa8299"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1624ce0a308bb10b7e0d4ad9d4fa8299","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1624ce0a308bb10b7e0d4ad9d4fa8299"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678498,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1624ce0a308bb10b7e0d4ad9d4fa8299","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1624ce0a308bb10b7e0d4ad9d4fa8299","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.777485629Z"}]},"request_id":"4684894d-4217-430b-b927-89f5a1382ad4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.3878174} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1624ce0a308bb10b7e0d4ad9d4fa8299","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1624ce0a308bb10b7e0d4ad9d4fa8299"} gateway-1 | {"time_local":"24/Sep/2024:23:56:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/69e9259a-6272-476b-b74f-3093194b0abe? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1624ce0a308bb10b7e0d4ad9d4fa8299"} device-1 | {"level":"info","message":"GET /devices/69e9259a-6272-476b-b74f-3093194b0abe? 200 15ms","method":"GET","requestID":"1624ce0a308bb10b7e0d4ad9d4fa8299","responseTime":15,"status":200,"url":"/devices/69e9259a-6272-476b-b74f-3093194b0abe?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk","level":"info","message":"auth send jwt","requestID":"f3f61188aeb6ee91275e59e4d5ef68e4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f3f61188aeb6ee91275e59e4d5ef68e4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f3f61188aeb6ee91275e59e4d5ef68e4"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698223,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f3f61188aeb6ee91275e59e4d5ef68e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f3f61188aeb6ee91275e59e4d5ef68e4","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.824688527Z"}]},"request_id":"41c58fd3-b8b3-46dc-86db-244f3506fd9d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.4066799} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f3f61188aeb6ee91275e59e4d5ef68e4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f3f61188aeb6ee91275e59e4d5ef68e4"} gateway-1 | {"time_local":"24/Sep/2024:23:56:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3f61188aeb6ee91275e59e4d5ef68e4"} device-1 | {"level":"info","message":"GET /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884? 200 11ms","method":"GET","requestID":"f3f61188aeb6ee91275e59e4d5ef68e4","responseTime":11,"status":200,"url":"/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk","level":"info","message":"auth send jwt","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"973b921ddc04ec864fbae98eca8ee5c8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.127557,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"973b921ddc04ec864fbae98eca8ee5c8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"973b921ddc04ec864fbae98eca8ee5c8","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Attempting to run experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Attempting to book experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Successfully booked experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9cd27840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9cd29f50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679589,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9cd27840-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9cd27840-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.608392,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9cd29f50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9cd29f50-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.777485629Z"}]},"request_id":"0f42c324-3b7c-4d46-923e-75f038e1df4e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.4687338} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9cd27840-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.824688527Z"}]},"request_id":"fee6bcb7-3764-4f6f-9586-a3da9cd661cb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.4697807} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9cd29f50-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9cd27840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/69e9259a-6272-476b-b74f-3093194b0abe? 200 16ms","method":"GET","requestID":"9cd27840-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/69e9259a-6272-476b-b74f-3093194b0abe?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9cd29f50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884? 200 16ms","method":"GET","requestID":"9cd29f50-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Setting up experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Successfully locked booking for experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Attempting to update booking for experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Successfully updated booking for experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Successfully set up experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9cdcb170-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9cdcff90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9cdd4db0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Successfully running experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.162944,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9cdcb170-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9cdcb170-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.142327,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9cdcff90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9cdcff90-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"349f5357-5b40-48dc-828e-54bf297dc8ed","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.5364413} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.361092,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9cdd4db0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9cdd4db0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.777485629Z"}]},"request_id":"4a84e2d1-6361-428f-a79a-31211f13af10","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.5385172} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9cdcb170-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.824688527Z"}]},"request_id":"aeb06ed3-be16-4c5c-93cf-a1a69d4b8890","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.540376} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9cdcff90-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9cdd4db0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/69e9259a-6272-476b-b74f-3093194b0abe/signaling 200 11ms","method":"POST","requestID":"9cdd4db0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/69e9259a-6272-476b-b74f-3093194b0abe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9cdf97a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9cdcb170-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/69e9259a-6272-476b-b74f-3093194b0abe? 200 21ms","method":"GET","requestID":"9cdcb170-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/69e9259a-6272-476b-b74f-3093194b0abe?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9cdcff90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} device-1 | {"level":"info","message":"GET /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884? 200 20ms","method":"GET","requestID":"9cdcff90-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d393116-870b-49f7-a129-f9b8ed553eb9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.5507355} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.283202,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ce05af0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9cdf97a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","object_type":"device","rebac_allow":false,"scope_allow":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":"9cdf97a0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F484faaf4-7414-4ab7-ad44-55870ffaf145#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F484faaf4-7414-4ab7-ad44-55870ffaf145","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"51874bd5-6775-47a0-9dd4-9f7e1e92ccd1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.5516043} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be9d50ee-ed3f-4ed9-b446-95a72ad9cceb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.5520117} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"973b921ddc04ec864fbae98eca8ee5c8","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9cdf97a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/signaling 200 11ms","method":"POST","requestID":"9cdf97a0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c929b81-e295-4171-a3ff-3916cee74243","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.5583203} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.349541,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ce05af0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9ce05af0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} gateway-1 | {"time_local":"24/Sep/2024:23:56:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"786","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 146ms","method":"POST","requestID":"973b921ddc04ec864fbae98eca8ee5c8","responseTime":146,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ce05af0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/69e9259a-6272-476b-b74f-3093194b0abe/signaling 200 11ms","method":"POST","requestID":"9ce05af0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/69e9259a-6272-476b-b74f-3093194b0abe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ce256c0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk","level":"info","message":"auth send jwt","requestID":"736ad371990eb26971a62743f130f489"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"736ad371990eb26971a62743f130f489","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"736ad371990eb26971a62743f130f489"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f7884b4-c6f5-4539-9dc6-27b2173f2de0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.5684745} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69304,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.166492,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"736ad371990eb26971a62743f130f489","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"736ad371990eb26971a62743f130f489","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ce256c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9ce256c0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.777485629Z"}]},"request_id":"a4beb9f9-38ed-4528-8158-b16785fcd9a9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.5727446} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ce256c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/signaling 200 9ms","method":"POST","requestID":"9ce256c0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"736ad371990eb26971a62743f130f489","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ce40470-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ce42b80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"736ad371990eb26971a62743f130f489"} gateway-1 | {"time_local":"24/Sep/2024:23:56:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/69e9259a-6272-476b-b74f-3093194b0abe? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"736ad371990eb26971a62743f130f489"} device-1 | {"level":"info","message":"GET /devices/69e9259a-6272-476b-b74f-3093194b0abe? 200 12ms","method":"GET","requestID":"736ad371990eb26971a62743f130f489","responseTime":12,"status":200,"url":"/devices/69e9259a-6272-476b-b74f-3093194b0abe?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.616241,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ce40470-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9ce40470-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:39868","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.006895,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ce42b80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9ce42b80-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk","level":"info","message":"auth send jwt","requestID":"64d50ab10936b458bac4801ecbd21716"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"64d50ab10936b458bac4801ecbd21716","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"64d50ab10936b458bac4801ecbd21716"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.777485629Z"}]},"request_id":"d723e7bd-5ad4-4e0f-8a49-31979470f2fc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.5837436} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9ce40470-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.824688527Z"}]},"request_id":"66f60ce8-e0dc-45cd-a8fc-346f95ea64c4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.58468} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ce40470-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9ce42b80-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.051012,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} device-1 | {"level":"info","message":"GET /devices/69e9259a-6272-476b-b74f-3093194b0abe? 200 13ms","method":"GET","requestID":"9ce40470-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/69e9259a-6272-476b-b74f-3093194b0abe?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"64d50ab10936b458bac4801ecbd21716","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"64d50ab10936b458bac4801ecbd21716","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ce42b80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884? 200 15ms","method":"GET","requestID":"9ce42b80-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:26.824688527Z"}]},"request_id":"fa319d43-7c6a-4bfc-abe1-3403c1124098","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.5918033} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Building connection plan","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"64d50ab10936b458bac4801ecbd21716","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"a8ac296f-6ac6-4219-9c7e-321b4c960cac"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"5d12c390-51c4-4423-b61d-1218887e3acf"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/file","uuid":"c2a99a02-335b-4986-ba67-e79a2135ee88"}]},"level":"info","message":"Built pairwise service configurations","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"9ce6eaa0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"64d50ab10936b458bac4801ecbd21716"} device-1 | {"level":"info","message":"GET /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884? 200 13ms","method":"GET","requestID":"64d50ab10936b458bac4801ecbd21716","responseTime":13,"status":200,"url":"/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64d50ab10936b458bac4801ecbd21716"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.74364,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ce6eaa0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222187,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4N30.CBjCeMSaTO4ROrJn1DnsNK7g7Ha0_OSWb3yUd1gmPVk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9ce6eaa0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"b083c9d9-7f43-42cb-8e9d-64087ee036b4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.6057453} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d915a85-2595-4914-ad81-8587ba927a5a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.6059532} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"9ce6eaa0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"9ce6eaa0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"9ce6eaa0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297'","requestID":"9ce6eaa0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297'","requestID":"9ce6eaa0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"9ce6eaa0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"9ce6eaa0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"9ce6eaa0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"973b921ddc04ec864fbae98eca8ee5c8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9cefc440-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"598bb940-a5f0-4228-a6a3-cd87c858c429","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.6573827} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.79787,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9cefc440-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","object_type":"device","rebac_allow":false,"scope_allow":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":"9cefc440-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9cefc440-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/69e9259a-6272-476b-b74f-3093194b0abe/signaling 200 9ms","method":"POST","requestID":"9cefc440-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/69e9259a-6272-476b-b74f-3093194b0abe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9cf171f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"873fca25-d862-4af2-9547-72690bbce86c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222187.6673164} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.382564,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9cf171f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9cf171f0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9cf171f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/signaling 200 8ms","method":"POST","requestID":"9cf171f0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/signaling"} device-1 | {"device":"f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"94b23b0c-d98f-47f9-b43a-5032f88b4297","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"69e9259a-6272-476b-b74f-3093194b0abe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"94b23b0c-d98f-47f9-b43a-5032f88b4297","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"69e9259a-6272-476b-b74f-3093194b0abe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"69e9259a-6272-476b-b74f-3093194b0abe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"69e9259a-6272-476b-b74f-3093194b0abe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"69e9259a-6272-476b-b74f-3093194b0abe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/94b23b0c-d98f-47f9-b43a-5032f88b4297' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"94b23b0c-d98f-47f9-b43a-5032f88b4297","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2a347d55673773ad7cfd60592fffde8f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2a347d55673773ad7cfd60592fffde8f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297"}}},"level":"info","message":"received a callback","requestID":"2a347d55673773ad7cfd60592fffde8f"} device-1 | {"device":"f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"2a347d55673773ad7cfd60592fffde8f","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"2a347d55673773ad7cfd60592fffde8f"} device-1 | {"device":"69e9259a-6272-476b-b74f-3093194b0abe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"94b23b0c-d98f-47f9-b43a-5032f88b4297","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"69e9259a-6272-476b-b74f-3093194b0abe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"94b23b0c-d98f-47f9-b43a-5032f88b4297","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/94b23b0c-d98f-47f9-b43a-5032f88b4297' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"94b23b0c-d98f-47f9-b43a-5032f88b4297","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7dae0998b21b400f08d654c0837c391f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"7dae0998b21b400f08d654c0837c391f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297"}}},"level":"info","message":"received a callback","requestID":"7dae0998b21b400f08d654c0837c391f"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9e2d2640-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:29Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F94b23b0c-d98f-47f9-b43a-5032f88b4297","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"774d6443-42be-471d-bf08-1dad7503a7b0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222189.7378056} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.787537,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9e2d2640-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297","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":"9e2d2640-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9e2d2640-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297 200 10ms","method":"GET","requestID":"9e2d2640-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"7dae0998b21b400f08d654c0837c391f","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"7dae0998b21b400f08d654c0837c391f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9e31e130-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:29Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40f453f6-6030-4cf4-95e5-6b8a8ce38f59","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222189.7684019} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.826355,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9e31e130-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9e31e130-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9e31e130-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/69e9259a-6272-476b-b74f-3093194b0abe/signaling 200 10ms","method":"POST","requestID":"9e31e130-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/69e9259a-6272-476b-b74f-3093194b0abe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9e33dd00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:29Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c910687-9b16-4a24-9d52-916a30d56a84","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222189.7812505} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.653806,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9e33dd00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","object_type":"device","rebac_allow":false,"scope_allow":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":"9e33dd00-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9e33dd00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/signaling 200 12ms","method":"POST","requestID":"9e33dd00-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4OX0.48HT1Ku_v4eyjWmNZlGKc4qI_oO9dDHxMuc8wSd9lh8","level":"info","message":"auth send jwt","requestID":"e5650acca3bb137ec73fc92d1132e044"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e5650acca3bb137ec73fc92d1132e044","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/484faaf4-7414-4ab7-ad44-55870ffaf145","requestID":"e5650acca3bb137ec73fc92d1132e044"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.297765,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e5650acca3bb137ec73fc92d1132e044","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222189,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4OX0.48HT1Ku_v4eyjWmNZlGKc4qI_oO9dDHxMuc8wSd9lh8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e5650acca3bb137ec73fc92d1132e044","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/484faaf4-7414-4ab7-ad44-55870ffaf145","requestID":"e5650acca3bb137ec73fc92d1132e044"} gateway-1 | {"time_local":"24/Sep/2024:23:56:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/484faaf4-7414-4ab7-ad44-55870ffaf145 HTTP/1.1","status": "200","body_bytes_sent":"859","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e5650acca3bb137ec73fc92d1132e044"} experiment-1 | {"level":"info","message":"GET /experiments/484faaf4-7414-4ab7-ad44-55870ffaf145 200 16ms","method":"GET","requestID":"e5650acca3bb137ec73fc92d1132e044","responseTime":16,"status":200,"url":"/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4OX0.48HT1Ku_v4eyjWmNZlGKc4qI_oO9dDHxMuc8wSd9lh8","level":"info","message":"auth send jwt","requestID":"95122537e277e38f9849941bfb82b225"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"95122537e277e38f9849941bfb82b225","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/484faaf4-7414-4ab7-ad44-55870ffaf145","requestID":"95122537e277e38f9849941bfb82b225"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.505257,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"95122537e277e38f9849941bfb82b225","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222189,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4OX0.48HT1Ku_v4eyjWmNZlGKc4qI_oO9dDHxMuc8wSd9lh8"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"95122537e277e38f9849941bfb82b225","responseTime":11,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Attempting to finish experiment","requestID":"95122537e277e38f9849941bfb82b225"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"9e526180-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.617546,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9e526180-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222189,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE4OX0.48HT1Ku_v4eyjWmNZlGKc4qI_oO9dDHxMuc8wSd9lh8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9e526180-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"69e9259a-6272-476b-b74f-3093194b0abe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"69e9259a-6272-476b-b74f-3093194b0abe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"69e9259a-6272-476b-b74f-3093194b0abe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/94b23b0c-d98f-47f9-b43a-5032f88b4297' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"94b23b0c-d98f-47f9-b43a-5032f88b4297","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a4b11a4d00b2bdceae5efccd2cca2b49","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a4b11a4d00b2bdceae5efccd2cca2b49","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"44e135ddf8a415162ed123dd2540927a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F94b23b0c-d98f-47f9-b43a-5032f88b4297': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F94b23b0c-d98f-47f9-b43a-5032f88b4297","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"baff4b77-04ad-4256-a441-a478e6dd032f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.0063329} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297"}}},"level":"info","message":"received a callback","requestID":"a4b11a4d00b2bdceae5efccd2cca2b49"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"44e135ddf8a415162ed123dd2540927a","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87eb6e14-2489-44b6-9128-c4dd6dfb2446","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.0066926} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297"}}},"level":"info","message":"received a callback","requestID":"44e135ddf8a415162ed123dd2540927a"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"9e526180-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"94b23b0c-d98f-47f9-b43a-5032f88b4297","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"9e526180-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297 204 51ms","method":"DELETE","requestID":"9e526180-7ad0-11ef-9247-9909de679d1e","responseTime":51,"status":204,"url":"/peerconnections/94b23b0c-d98f-47f9-b43a-5032f88b4297"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"},"level":"info","message":"Successfully finished experiment","requestID":"95122537e277e38f9849941bfb82b225"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9e5ce8d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:30Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69e9259a-6272-476b-b74f-3093194b0abe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"538d88f8-2e4b-4005-b851-f9bd8d03cf47","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.050188} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.832217,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9e5ce8d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69e9259a-6272-476b-b74f-3093194b0abe","object_type":"device","rebac_allow":false,"scope_allow":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":"9e5ce8d0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9e5ce8d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/69e9259a-6272-476b-b74f-3093194b0abe/signaling 200 10ms","method":"POST","requestID":"9e5ce8d0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/69e9259a-6272-476b-b74f-3093194b0abe/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F484faaf4-7414-4ab7-ad44-55870ffaf145': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F484faaf4-7414-4ab7-ad44-55870ffaf145","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"60cf36d9-c2c8-4f09-92ee-811d0b61a6b4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.0583081} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9e5ee4a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"481850d7-180c-4a92-a3f6-2d2be595f7af","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.0586288} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"95122537e277e38f9849941bfb82b225","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:30Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6d5dde0-1c1f-4cdb-a2e6-7595317d5884","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"955876ec-df96-4d03-b273-6e19b5964cc4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.0632014} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.289197,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9e5ee4a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884","object_type":"device","rebac_allow":false,"scope_allow":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":"9e5ee4a0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9e5ee4a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/signaling 200 9ms","method":"POST","requestID":"9e5ee4a0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/484faaf4-7414-4ab7-ad44-55870ffaf145","requestID":"95122537e277e38f9849941bfb82b225"} gateway-1 | {"time_local":"24/Sep/2024:23:56:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/484faaf4-7414-4ab7-ad44-55870ffaf145 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95122537e277e38f9849941bfb82b225"} gateway-1 | {"time_local":"24/Sep/2024:23:56:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2462","request_time":"2.774","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"57477f2998254be72faa2ea7a65cd1f7"} gateway-1 | {"time_local":"24/Sep/2024:23:56:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2462","request_time":"2.767","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"c90d9a058582a374fdec58dd196c8578"} experiment-1 | {"level":"info","message":"DELETE /experiments/484faaf4-7414-4ab7-ad44-55870ffaf145 204 168ms","method":"DELETE","requestID":"95122537e277e38f9849941bfb82b225","responseTime":168,"status":204,"url":"/experiments/484faaf4-7414-4ab7-ad44-55870ffaf145"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"a4b11a4d00b2bdceae5efccd2cca2b49","responseTime":115,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"a4b11a4d00b2bdceae5efccd2cca2b49"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"44e135ddf8a415162ed123dd2540927a","responseTime":115,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.119","http_referrer":"","http_user_agent":"node-fetch","requestID":"44e135ddf8a415162ed123dd2540927a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5MH0.on1QCBBrIxqh8pUyyq318jfz_P_41ISbMQrm3Ivvabw","level":"info","message":"auth send jwt","requestID":"629c7b081f46e52d3a148893b79e3a78"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"629c7b081f46e52d3a148893b79e3a78","responseTime":5,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f6d5dde0-1c1f-4cdb-a2e6-7595317d5884' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"629c7b081f46e52d3a148893b79e3a78"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.838564,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"629c7b081f46e52d3a148893b79e3a78","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222190,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5MH0.on1QCBBrIxqh8pUyyq318jfz_P_41ISbMQrm3Ivvabw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"629c7b081f46e52d3a148893b79e3a78","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/69e9259a-6272-476b-b74f-3093194b0abe' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7929da75-8dd0-44b8-82e3-628660178305","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.147757} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"629c7b081f46e52d3a148893b79e3a78","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d234a22-bc1a-480b-ac73-d747ef2d0160","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.1532655} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"629c7b081f46e52d3a148893b79e3a78","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"201b2d4b-12eb-4636-a312-97da15a220a5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.1646423} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dcf823c8-9739-4c0a-baed-1f05def6b936","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.1646976} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"629c7b081f46e52d3a148893b79e3a78","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.164614189Z"}]},"request_id":"d66bf747-842c-4181-957f-ff129904c838","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.1691403} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"629c7b081f46e52d3a148893b79e3a78","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"629c7b081f46e52d3a148893b79e3a78"} gateway-1 | {"time_local":"24/Sep/2024:23:56:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"629c7b081f46e52d3a148893b79e3a78"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"629c7b081f46e52d3a148893b79e3a78","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5MH0.on1QCBBrIxqh8pUyyq318jfz_P_41ISbMQrm3Ivvabw","level":"info","message":"auth send jwt","requestID":"f0d4d20102f4a24612943f8ad420571a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f0d4d20102f4a24612943f8ad420571a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f0d4d20102f4a24612943f8ad420571a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.795229,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f0d4d20102f4a24612943f8ad420571a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222190,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5MH0.on1QCBBrIxqh8pUyyq318jfz_P_41ISbMQrm3Ivvabw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f0d4d20102f4a24612943f8ad420571a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cd29b261-6c0e-4b6a-bc12-f4504167c2b6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.1922736} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f0d4d20102f4a24612943f8ad420571a","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e6305ee-b288-44da-8129-f82a449aa29c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.197588} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f0d4d20102f4a24612943f8ad420571a","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"e6c59b02-2b68-4bbd-9c93-cd847ce277f3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.2139633} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b319acf6-df23-4870-a595-f9252584410c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.214246} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"f0d4d20102f4a24612943f8ad420571a","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.213940167Z"}]},"request_id":"c6cfad50-8c75-4a55-84b2-e673063dc172","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222190.2193196} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f0d4d20102f4a24612943f8ad420571a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f0d4d20102f4a24612943f8ad420571a"} gateway-1 | {"time_local":"24/Sep/2024:23:56:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f0d4d20102f4a24612943f8ad420571a"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"f0d4d20102f4a24612943f8ad420571a","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f2908845e6b0df2de3880d18a8829c86","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f2908845e6b0df2de3880d18a8829c86","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/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":"f2908845e6b0df2de3880d18a8829c86"} device-1 | {"level":"info","message":"OPTIONS /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/websocket 200 1ms","method":"OPTIONS","requestID":"f2908845e6b0df2de3880d18a8829c86","responseTime":1,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs","level":"info","message":"auth send jwt","requestID":"2c9654a863246274db6cc4658f577230"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2c9654a863246274db6cc4658f577230","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2c9654a863246274db6cc4658f577230"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5582aabbaa33cf1f9325b45ecd846283","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5582aabbaa33cf1f9325b45ecd846283","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c0332d87-752a-46ab-a253-35ae23d4518d/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":"5582aabbaa33cf1f9325b45ecd846283"} device-1 | {"level":"info","message":"OPTIONS /devices/c0332d87-752a-46ab-a253-35ae23d4518d/websocket 200 1ms","method":"OPTIONS","requestID":"5582aabbaa33cf1f9325b45ecd846283","responseTime":1,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d/websocket"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.312585,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2c9654a863246274db6cc4658f577230","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2c9654a863246274db6cc4658f577230","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs","level":"info","message":"auth send jwt","requestID":"d8ee464ca85d3954e8996e06f0f80b30"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8ee464ca85d3954e8996e06f0f80b30","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d8ee464ca85d3954e8996e06f0f80b30"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.271905,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d8ee464ca85d3954e8996e06f0f80b30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d8ee464ca85d3954e8996e06f0f80b30","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2c9654a863246274db6cc4658f577230"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2c9654a863246274db6cc4658f577230"} device-1 | {"level":"info","message":"POST /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/websocket 200 28ms","method":"POST","requestID":"2c9654a863246274db6cc4658f577230","responseTime":28,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d8ee464ca85d3954e8996e06f0f80b30"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c0332d87-752a-46ab-a253-35ae23d4518d/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":"d8ee464ca85d3954e8996e06f0f80b30"} device-1 | {"level":"info","message":"POST /devices/c0332d87-752a-46ab-a253-35ae23d4518d/websocket 200 23ms","method":"POST","requestID":"d8ee464ca85d3954e8996e06f0f80b30","responseTime":23,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"922816d0c6c0e5607068a81ac08640f8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"922816d0c6c0e5607068a81ac08640f8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"922816d0c6c0e5607068a81ac08640f8"} device-1 | {"level":"info","message":"OPTIONS /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6? 200 1ms","method":"OPTIONS","requestID":"922816d0c6c0e5607068a81ac08640f8","responseTime":1,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0cac4c70b06f1c79bcd58bc371aa7725","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0cac4c70b06f1c79bcd58bc371aa7725","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/c0332d87-752a-46ab-a253-35ae23d4518d? 200 1ms","method":"OPTIONS","requestID":"0cac4c70b06f1c79bcd58bc371aa7725","responseTime":1,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs","level":"info","message":"auth send jwt","requestID":"6ad0e6061451b0fdbdbe1fa60ed4cc0e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c0332d87-752a-46ab-a253-35ae23d4518d? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"0cac4c70b06f1c79bcd58bc371aa7725"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6ad0e6061451b0fdbdbe1fa60ed4cc0e","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6ad0e6061451b0fdbdbe1fa60ed4cc0e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.124965,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs","level":"info","message":"auth send jwt","requestID":"bb997be3819781749f3dbf1b59911f46"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6ad0e6061451b0fdbdbe1fa60ed4cc0e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bb997be3819781749f3dbf1b59911f46","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6ad0e6061451b0fdbdbe1fa60ed4cc0e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"bb997be3819781749f3dbf1b59911f46"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189629,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb997be3819781749f3dbf1b59911f46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bb997be3819781749f3dbf1b59911f46","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.164614189Z"}]},"request_id":"93f1dd55-3bf3-4614-9667-2c458619892d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.3445046} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6ad0e6061451b0fdbdbe1fa60ed4cc0e","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbf81839-a223-437a-9fe4-657795dc71f6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.353243} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6ad0e6061451b0fdbdbe1fa60ed4cc0e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.213940167Z"}]},"request_id":"8b7c70b4-ab7b-4c5c-b01e-96664fb19334","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.3571625} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bb997be3819781749f3dbf1b59911f46","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b54100a-8826-41bc-96e4-dcbc00ca13d6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.3650007} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"bb997be3819781749f3dbf1b59911f46","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.164614189Z"}]},"request_id":"4d856943-1153-44d3-a138-f7005b201878","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.36902} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6ad0e6061451b0fdbdbe1fa60ed4cc0e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6ad0e6061451b0fdbdbe1fa60ed4cc0e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6? HTTP/1.1","status": "200","body_bytes_sent":"1007","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":"6ad0e6061451b0fdbdbe1fa60ed4cc0e"} device-1 | {"level":"info","message":"PATCH /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6? 200 43ms","method":"PATCH","requestID":"6ad0e6061451b0fdbdbe1fa60ed4cc0e","responseTime":43,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.213940167Z"}]},"request_id":"58fdbde9-8b2c-495f-b629-676e09b680b6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.3809392} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bb997be3819781749f3dbf1b59911f46","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"bb997be3819781749f3dbf1b59911f46"} device-1 | {"level":"info","message":"PATCH /devices/c0332d87-752a-46ab-a253-35ae23d4518d? 200 46ms","method":"PATCH","requestID":"bb997be3819781749f3dbf1b59911f46","responseTime":46,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c0332d87-752a-46ab-a253-35ae23d4518d? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.054","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bb997be3819781749f3dbf1b59911f46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs","level":"info","message":"auth send jwt","requestID":"76c71643f3b91dc36d401319743cfff1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"76c71643f3b91dc36d401319743cfff1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"76c71643f3b91dc36d401319743cfff1"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127046,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"76c71643f3b91dc36d401319743cfff1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"76c71643f3b91dc36d401319743cfff1","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.164614189Z"}]},"request_id":"2836a68a-c9e2-403c-8101-0da0f69cb86d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.4090042} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"76c71643f3b91dc36d401319743cfff1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"76c71643f3b91dc36d401319743cfff1"} device-1 | {"level":"info","message":"GET /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6? 200 18ms","method":"GET","requestID":"76c71643f3b91dc36d401319743cfff1","responseTime":18,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"76c71643f3b91dc36d401319743cfff1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs","level":"info","message":"auth send jwt","requestID":"258cf75c689a8793fe4b2394bb93b4bf"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"258cf75c689a8793fe4b2394bb93b4bf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"258cf75c689a8793fe4b2394bb93b4bf"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.964266,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"258cf75c689a8793fe4b2394bb93b4bf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"258cf75c689a8793fe4b2394bb93b4bf","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.213940167Z"}]},"request_id":"5f87f4e5-686a-4957-b1fb-ac77b77359ac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.4333365} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"258cf75c689a8793fe4b2394bb93b4bf","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"258cf75c689a8793fe4b2394bb93b4bf"} device-1 | {"level":"info","message":"GET /devices/c0332d87-752a-46ab-a253-35ae23d4518d? 200 17ms","method":"GET","requestID":"258cf75c689a8793fe4b2394bb93b4bf","responseTime":17,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c0332d87-752a-46ab-a253-35ae23d4518d? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"258cf75c689a8793fe4b2394bb93b4bf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs","level":"info","message":"auth send jwt","requestID":"5caebf4063cdf56c141f77325c75186e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5caebf4063cdf56c141f77325c75186e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5caebf4063cdf56c141f77325c75186e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.26951,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5caebf4063cdf56c141f77325c75186e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5caebf4063cdf56c141f77325c75186e","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Attempting to run experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Attempting to book experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Successfully booked experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9fd1fca0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9fd24ac0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.747357,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9fd1fca0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9fd1fca0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.90449,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9fd24ac0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"9fd24ac0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.164614189Z"}]},"request_id":"3a804a0f-8132-43fe-9374-da3a36cfaceb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.4999385} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9fd1fca0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.213940167Z"}]},"request_id":"42842303-ae42-4db9-80b6-6910c0cd69ad","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.5031822} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9fd1fca0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9fd24ac0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6? 200 14ms","method":"GET","requestID":"9fd1fca0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9fd24ac0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c0332d87-752a-46ab-a253-35ae23d4518d? 200 16ms","method":"GET","requestID":"9fd24ac0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Setting up experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Successfully set up experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9fdbe7b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9fdc35d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Successfully running experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9fdc83f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901108,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9fdbe7b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9fdbe7b0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.789889,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9fdc35d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"9fdc35d0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10df423d-8e1e-4e62-bc8c-11f12f9fd973","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.5650196} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.597864,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9fdc83f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","object_type":"device","rebac_allow":false,"scope_allow":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":"9fdc83f0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.164614189Z"}]},"request_id":"964ca485-9e6b-444d-a172-ca0aa6922097","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.5674622} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9fdc83f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"9fdbe7b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/signaling 200 12ms","method":"POST","requestID":"9fdc83f0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.213940167Z"}]},"request_id":"a6d403a7-cde9-4447-be7e-4c94ae2e69c5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.5705237} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9fdc35d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9fdecde0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9fdbe7b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} device-1 | {"level":"info","message":"GET /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6? 200 22ms","method":"GET","requestID":"9fdbe7b0-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9fdc35d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c0332d87-752a-46ab-a253-35ae23d4518d? 200 21ms","method":"GET","requestID":"9fdc35d0-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"761d28df-d88c-41f7-9e2c-07cbf923d22c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.5790646} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.750817,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9fdecde0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9fdecde0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9fdfb840-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F60c3cd92-d601-4760-a845-9b24cf098e7e#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F60c3cd92-d601-4760-a845-9b24cf098e7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"356737d7-26d8-452f-9b0f-a1d533c926e6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.5799935} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6e73415-f263-427a-a09a-865275b11e50","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.5803866} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"5caebf4063cdf56c141f77325c75186e","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9fdecde0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c0332d87-752a-46ab-a253-35ae23d4518d/signaling 200 10ms","method":"POST","requestID":"9fdecde0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14f882a4-5a5b-449e-abac-6ac34222bfe4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.5895333} experiment-1 | {"data":{"experiment":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5caebf4063cdf56c141f77325c75186e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.554503,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"778","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5caebf4063cdf56c141f77325c75186e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 143ms","method":"POST","requestID":"5caebf4063cdf56c141f77325c75186e","responseTime":143,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9fdfb840-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","object_type":"device","rebac_allow":false,"scope_allow":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":"9fdfb840-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9fdfb840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/signaling 200 15ms","method":"POST","requestID":"9fdfb840-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs","level":"info","message":"auth send jwt","requestID":"a4608a823b224741a07bac30761dc34d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a4608a823b224741a07bac30761dc34d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9fe25050-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a4608a823b224741a07bac30761dc34d"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742921,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4608a823b224741a07bac30761dc34d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a4608a823b224741a07bac30761dc34d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f2238226-7f08-4ba6-afdf-3e437a6fb2d2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.6022832} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.645144,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9fe25050-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9fe25050-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.164614189Z"}]},"request_id":"22b46371-c83a-40cf-a4e3-e61e4973b761","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.6062405} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a4608a823b224741a07bac30761dc34d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9fe25050-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c0332d87-752a-46ab-a253-35ae23d4518d/signaling 200 10ms","method":"POST","requestID":"9fe25050-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9fe42510-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a4608a823b224741a07bac30761dc34d"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a4608a823b224741a07bac30761dc34d"} device-1 | {"level":"info","message":"GET /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6? 200 12ms","method":"GET","requestID":"a4608a823b224741a07bac30761dc34d","responseTime":12,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9fe49a40-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731886,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9fe42510-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9fe42510-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs","level":"info","message":"auth send jwt","requestID":"c832f3f8793c5dc8ea71b86e7b3436da"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705299,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c832f3f8793c5dc8ea71b86e7b3436da","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9fe49a40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c832f3f8793c5dc8ea71b86e7b3436da"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9fe49a40-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.164614189Z"}]},"request_id":"3f68411e-4ccd-4b1f-8c02-363f2271e093","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.617187} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9fe42510-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.002343,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c832f3f8793c5dc8ea71b86e7b3436da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c832f3f8793c5dc8ea71b86e7b3436da","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.213940167Z"}]},"request_id":"9aec2bd9-ea66-4fb2-b5f2-391976139654","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.621145} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9fe49a40-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:30.213940167Z"}]},"request_id":"4cb4839d-46e0-41c4-8496-74a0dc3389b3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.6244023} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c832f3f8793c5dc8ea71b86e7b3436da","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9fe42510-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6? 200 17ms","method":"GET","requestID":"9fe42510-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9fe49a40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c0332d87-752a-46ab-a253-35ae23d4518d? 200 16ms","method":"GET","requestID":"9fe49a40-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Building connection plan","requestID":"5caebf4063cdf56c141f77325c75186e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"ab13ded4-2051-42e2-8665-239a223e1235"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"e9b40155-67db-409e-956f-ecff59a0306f"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/file","uuid":"79acff6a-f772-4ac9-8cdf-189f47050bab"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5caebf4063cdf56c141f77325c75186e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c832f3f8793c5dc8ea71b86e7b3436da"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c0332d87-752a-46ab-a253-35ae23d4518d? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c832f3f8793c5dc8ea71b86e7b3436da"} device-1 | {"level":"info","message":"GET /devices/c0332d87-752a-46ab-a253-35ae23d4518d? 200 12ms","method":"GET","requestID":"c832f3f8793c5dc8ea71b86e7b3436da","responseTime":12,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d?"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"9fe78070-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"9fe78070-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 2ms","method":"POST","requestID":"9fe78070-7ad0-11ef-a772-4d02dbd671ac","responseTime":2,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9?id=643dba96-3858-4bba-a9b1-f90bd63a15e5","ws://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9?id=1bab1e05-ac01-434c-a35f-41c1d1e01ffa"]},"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"5caebf4063cdf56c141f77325c75186e"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"9fe81cb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.986065,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9fe81cb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222192,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Mn0.o23SQZgeiFMwax2RYoNBUiJrk4Qv-TkIBxjb3K-x2fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9fe81cb0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"faa3a226-f2fc-4758-99fd-2ac601ca4024","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.6470675} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ed527ea-c79e-4d57-88de-7a55b06408d0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.6473277} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"9fe81cb0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"9fe81cb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"9fe81cb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5'","requestID":"9fe81cb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5'","requestID":"9fe81cb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"9fe81cb0-7ad0-11ef-9247-9909de679d1e"} 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":"9fe81cb0-7ad0-11ef-9247-9909de679d1e","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":"9fe81cb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0e39fbf0-2210-45ef-b348-f204f0e8abf5","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"9fedc200-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\"","requestID":"9fedc200-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"9fedc200-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"9fee1020-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"643dba96-3858-4bba-a9b1-f90bd63a15e5\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\"","requestID":"9fee1020-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"9fee1020-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e49703d953a8d0f2a1a40698d5713f67","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e49703d953a8d0f2a1a40698d5713f67","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5"}}},"level":"info","message":"received a callback","requestID":"e49703d953a8d0f2a1a40698d5713f67"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} device-1 | {"data":{"peerconnection":"0e39fbf0-2210-45ef-b348-f204f0e8abf5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"e49703d953a8d0f2a1a40698d5713f67","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"e49703d953a8d0f2a1a40698d5713f67"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} device-1 | {"data":{"peerconnection":"0e39fbf0-2210-45ef-b348-f204f0e8abf5","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5caebf4063cdf56c141f77325c75186e"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ff34040-7ad0-11ef-9247-9909de679d1e"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70bf840f-9424-4739-9491-071e9dcda1f1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.7178617} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.317768,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ff34040-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","object_type":"device","rebac_allow":false,"scope_allow":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":"9ff34040-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0e39fbf0-2210-45ef-b348-f204f0e8abf5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ff34040-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/signaling 200 16ms","method":"POST","requestID":"9ff34040-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cfab77b6430fd5ad4818215b30758dc8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"cfab77b6430fd5ad4818215b30758dc8","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ff62670-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5"}}},"level":"info","message":"received a callback","requestID":"cfab77b6430fd5ad4818215b30758dc8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"51e5ff4a-bddf-446c-801b-1d6f4a22d169","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.732376} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.686289,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9ff737e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ff62670-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9ff62670-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ff62670-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c0332d87-752a-46ab-a253-35ae23d4518d/signaling 200 11ms","method":"POST","requestID":"9ff62670-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0e39fbf0-2210-45ef-b348-f204f0e8abf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a1df548-375c-495a-b999-bbf993213558","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.7393515} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.806903,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ff737e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5","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":"9ff737e0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9ff737e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5 200 11ms","method":"GET","requestID":"9ff737e0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"cfab77b6430fd5ad4818215b30758dc8","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"cfab77b6430fd5ad4818215b30758dc8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ffb7da0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f1691fd7-cb3f-497f-80b9-19b21acfb12c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.7668586} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.299684,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ffb7da0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9ffb7da0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ffb7da0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/signaling 200 9ms","method":"POST","requestID":"9ffb7da0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ffd2b50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db6784a0-b48b-49cc-a025-c01ab882fb88","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222192.7775042} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.339398,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ffd2b50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9ffd2b50-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ffd2b50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c0332d87-752a-46ab-a253-35ae23d4518d/signaling 200 9ms","method":"POST","requestID":"9ffd2b50-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4","level":"info","message":"auth send jwt","requestID":"71aaa2db50c86b2d379b97899f70db54"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"71aaa2db50c86b2d379b97899f70db54","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/60c3cd92-d601-4760-a845-9b24cf098e7e","requestID":"71aaa2db50c86b2d379b97899f70db54"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.324831,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"71aaa2db50c86b2d379b97899f70db54","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222193,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"71aaa2db50c86b2d379b97899f70db54","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/60c3cd92-d601-4760-a845-9b24cf098e7e","requestID":"71aaa2db50c86b2d379b97899f70db54"} gateway-1 | {"time_local":"24/Sep/2024:23:56:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/60c3cd92-d601-4760-a845-9b24cf098e7e HTTP/1.1","status": "200","body_bytes_sent":"851","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71aaa2db50c86b2d379b97899f70db54"} experiment-1 | {"level":"info","message":"GET /experiments/60c3cd92-d601-4760-a845-9b24cf098e7e 200 18ms","method":"GET","requestID":"71aaa2db50c86b2d379b97899f70db54","responseTime":18,"status":200,"url":"/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4","level":"info","message":"auth send jwt","requestID":"0705e65c8b75f2c4ee26e0deb4f37051"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0705e65c8b75f2c4ee26e0deb4f37051","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/60c3cd92-d601-4760-a845-9b24cf098e7e","requestID":"0705e65c8b75f2c4ee26e0deb4f37051"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.27106,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0705e65c8b75f2c4ee26e0deb4f37051","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222193,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0705e65c8b75f2c4ee26e0deb4f37051","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Attempting to finish experiment","requestID":"0705e65c8b75f2c4ee26e0deb4f37051"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a03a3450-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.200081,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a03a3450-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222193,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a03a3450-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5","device":"c0332d87-752a-46ab-a253-35ae23d4518d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} gateway-1 | {"time_local":"24/Sep/2024:23:56:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9?id=1bab1e05-ac01-434c-a35f-41c1d1e01ffa HTTP/1.1","status": "101","body_bytes_sent":"940749","request_time":"0.519","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a30d393685d33e0f8524359f7f130403"} gateway-1 | {"time_local":"24/Sep/2024:23:56:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9?id=643dba96-3858-4bba-a9b1-f90bd63a15e5 HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.518","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b4f3ce9daa4be77d50a00260c0dea668"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5","device":"3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"1bab1e05-ac01-434c-a35f-41c1d1e01ffa\" from room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"643dba96-3858-4bba-a9b1-f90bd63a15e5\" in room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"643dba96-3858-4bba-a9b1-f90bd63a15e5\" from room \"http://localhost/rooms/b02208a3-80ff-44d5-b3e0-1bf4ae3166e9\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0e39fbf0-2210-45ef-b348-f204f0e8abf5","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0e39fbf0-2210-45ef-b348-f204f0e8abf5': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0e39fbf0-2210-45ef-b348-f204f0e8abf5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"db90c67e-c5eb-4e16-83b8-ae3d0d406dc2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.193841} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8fee5aebda2ff37dd1c548a123564596","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cdbee3b1-ce7a-458b-ac02-e5530026de2f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.1942859} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8fee5aebda2ff37dd1c548a123564596","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"a03a3450-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0ce347fe487c20326959da0d4d2b4ef1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5"}}},"level":"info","message":"received a callback","requestID":"8fee5aebda2ff37dd1c548a123564596"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0ce347fe487c20326959da0d4d2b4ef1","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5"}}},"level":"info","message":"received a callback","requestID":"0ce347fe487c20326959da0d4d2b4ef1"} device-1 | {"data":{"peerconnection":"0e39fbf0-2210-45ef-b348-f204f0e8abf5","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a03a3450-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5 204 46ms","method":"DELETE","requestID":"a03a3450-7ad0-11ef-9247-9909de679d1e","responseTime":46,"status":204,"url":"/peerconnections/0e39fbf0-2210-45ef-b348-f204f0e8abf5"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d'"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"},"level":"info","message":"Successfully finished experiment","requestID":"0705e65c8b75f2c4ee26e0deb4f37051"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a043f850-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3118c482-6262-4f17-a8ff-731b71720f84","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.2424796} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.686779,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a043f850-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6","object_type":"device","rebac_allow":false,"scope_allow":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":"a043f850-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a043f850-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/signaling 200 11ms","method":"POST","requestID":"a043f850-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a045f420-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F60c3cd92-d601-4760-a845-9b24cf098e7e': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F60c3cd92-d601-4760-a845-9b24cf098e7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"429c482c-6ec6-4d87-bfba-e55d28621fe3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.2508605} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa377113-1b5a-459d-aa14-8ca0918731de","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.2512777} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"0705e65c8b75f2c4ee26e0deb4f37051","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0332d87-752a-46ab-a253-35ae23d4518d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c5794a3-fd2e-4155-bb3e-9da117aa0bd4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.2565267} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.723328,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a045f420-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d","object_type":"device","rebac_allow":false,"scope_allow":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":"a045f420-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a045f420-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c0332d87-752a-46ab-a253-35ae23d4518d/signaling 200 10ms","method":"POST","requestID":"a045f420-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/c0332d87-752a-46ab-a253-35ae23d4518d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/60c3cd92-d601-4760-a845-9b24cf098e7e","requestID":"0705e65c8b75f2c4ee26e0deb4f37051"} gateway-1 | {"time_local":"24/Sep/2024:23:56:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/60c3cd92-d601-4760-a845-9b24cf098e7e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0705e65c8b75f2c4ee26e0deb4f37051"} experiment-1 | {"level":"info","message":"DELETE /experiments/60c3cd92-d601-4760-a845-9b24cf098e7e 204 156ms","method":"DELETE","requestID":"0705e65c8b75f2c4ee26e0deb4f37051","responseTime":156,"status":204,"url":"/experiments/60c3cd92-d601-4760-a845-9b24cf098e7e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 118ms","method":"POST","requestID":"8fee5aebda2ff37dd1c548a123564596","responseTime":118,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.122","http_referrer":"","http_user_agent":"node-fetch","requestID":"8fee5aebda2ff37dd1c548a123564596"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 118ms","method":"POST","requestID":"0ce347fe487c20326959da0d4d2b4ef1","responseTime":118,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"0ce347fe487c20326959da0d4d2b4ef1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4","level":"info","message":"auth send jwt","requestID":"62296b52b835ad2eb940f61a43026f4d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"62296b52b835ad2eb940f61a43026f4d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"62296b52b835ad2eb940f61a43026f4d"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.948893,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"62296b52b835ad2eb940f61a43026f4d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222193,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"62296b52b835ad2eb940f61a43026f4d","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1437","request_time":"1.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":"31e8a607f09cb695af0f8531a5580134"} gateway-1 | {"time_local":"24/Sep/2024:23:56:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1438","request_time":"1.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9de37689f54580e6ad541ff053e01a0c"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c0332d87-752a-46ab-a253-35ae23d4518d' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1cdd7825-3d46-44ae-899d-83a5531f48d7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.3487306} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"62296b52b835ad2eb940f61a43026f4d","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/3dc73d3d-48be-48f1-8784-e1e7d0a8f1a6' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8237a94a-a6b9-440a-a429-5cebc7f1edf1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.3544292} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"62296b52b835ad2eb940f61a43026f4d","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"98b71fa2-d7c4-4b89-ad65-42a6b0d99f1d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.3658547} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db427b98-9fc4-45dc-940c-44c807f5f45d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.3660324} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"62296b52b835ad2eb940f61a43026f4d","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.365827243Z"}]},"request_id":"38138025-bfc5-40fd-a9c2-35e7c1d92b48","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.3702917} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"62296b52b835ad2eb940f61a43026f4d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"62296b52b835ad2eb940f61a43026f4d"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"62296b52b835ad2eb940f61a43026f4d","responseTime":53,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62296b52b835ad2eb940f61a43026f4d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4","level":"info","message":"auth send jwt","requestID":"4529c062cb0cae4a6e27e25787587ae8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4529c062cb0cae4a6e27e25787587ae8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4529c062cb0cae4a6e27e25787587ae8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.675786,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4529c062cb0cae4a6e27e25787587ae8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222193,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4529c062cb0cae4a6e27e25787587ae8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"32f23e71-9bb3-4dce-9e0a-6a7d5f6048a7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.4000695} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4529c062cb0cae4a6e27e25787587ae8","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30470a46-f250-4d1b-9678-231d03180bb0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.404548} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4529c062cb0cae4a6e27e25787587ae8","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"07aabe46-2270-472c-84f9-21e65376491d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.4159713} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd838afe-ebf7-4d63-942e-ce8a9fcac55a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.4161704} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"4529c062cb0cae4a6e27e25787587ae8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.415951435Z"}]},"request_id":"1934e961-9f0d-4408-a5f5-bea32af5c2e7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.420993} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4529c062cb0cae4a6e27e25787587ae8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4529c062cb0cae4a6e27e25787587ae8"} gateway-1 | {"time_local":"24/Sep/2024:23:56:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4529c062cb0cae4a6e27e25787587ae8"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"4529c062cb0cae4a6e27e25787587ae8","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4","level":"info","message":"auth send jwt","requestID":"4a760209bc8f50e353c88f883380a315"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4a760209bc8f50e353c88f883380a315","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4a760209bc8f50e353c88f883380a315"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907269,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4a760209bc8f50e353c88f883380a315","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222193,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4a760209bc8f50e353c88f883380a315","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.415951435Z"}]},"request_id":"8f05eabe-b98d-4fc4-9131-5ba0aee91f84","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.92165} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4a760209bc8f50e353c88f883380a315","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa307a01-f281-4155-af42-66902c9316c3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.9271038} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4a760209bc8f50e353c88f883380a315","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.415951435Z"}]},"request_id":"3623ed49-3a18-40d9-bc52-f7f9f2307277","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222193.9394257} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4a760209bc8f50e353c88f883380a315","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4a760209bc8f50e353c88f883380a315"} gateway-1 | {"time_local":"24/Sep/2024:23:56:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/14eb62a9-2e45-4841-938e-be0b305e3e67 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"4a760209bc8f50e353c88f883380a315"} device-1 | {"level":"info","message":"PATCH /devices/14eb62a9-2e45-4841-938e-be0b305e3e67 200 34ms","method":"PATCH","requestID":"4a760209bc8f50e353c88f883380a315","responseTime":34,"status":200,"url":"/devices/14eb62a9-2e45-4841-938e-be0b305e3e67"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4","level":"info","message":"auth send jwt","requestID":"627f05ed95712e65ac74d9794192b580"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"627f05ed95712e65ac74d9794192b580","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"627f05ed95712e65ac74d9794192b580"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.14149,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"627f05ed95712e65ac74d9794192b580","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222193,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5M30.2TFfjorfxBH52IE9ejiHuFHkvgt3yqKp_6_zZFiGHz4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"627f05ed95712e65ac74d9794192b580","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"627f05ed95712e65ac74d9794192b580"} gateway-1 | {"time_local":"24/Sep/2024:23:56:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/14eb62a9-2e45-4841-938e-be0b305e3e67/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"627f05ed95712e65ac74d9794192b580"} device-1 | {"level":"info","message":"POST /devices/14eb62a9-2e45-4841-938e-be0b305e3e67/websocket 200 20ms","method":"POST","requestID":"627f05ed95712e65ac74d9794192b580","responseTime":20,"status":200,"url":"/devices/14eb62a9-2e45-4841-938e-be0b305e3e67/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"833cc59c16946836c698742d34fcc748","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"833cc59c16946836c698742d34fcc748","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/619d5488-85bf-419f-9c5a-a89366bde005/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":"833cc59c16946836c698742d34fcc748"} device-1 | {"level":"info","message":"OPTIONS /devices/619d5488-85bf-419f-9c5a-a89366bde005/websocket 200 1ms","method":"OPTIONS","requestID":"833cc59c16946836c698742d34fcc748","responseTime":1,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ","level":"info","message":"auth send jwt","requestID":"b7abb26102469e4a96ac2d178962ee3a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b7abb26102469e4a96ac2d178962ee3a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b7abb26102469e4a96ac2d178962ee3a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.267126,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b7abb26102469e4a96ac2d178962ee3a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b7abb26102469e4a96ac2d178962ee3a","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b7abb26102469e4a96ac2d178962ee3a"} gateway-1 | {"time_local":"24/Sep/2024:23:56:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/619d5488-85bf-419f-9c5a-a89366bde005/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":"b7abb26102469e4a96ac2d178962ee3a"} device-1 | {"level":"info","message":"POST /devices/619d5488-85bf-419f-9c5a-a89366bde005/websocket 200 21ms","method":"POST","requestID":"b7abb26102469e4a96ac2d178962ee3a","responseTime":21,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f517704c1476adf76dd7119001b07a5c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f517704c1476adf76dd7119001b07a5c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/619d5488-85bf-419f-9c5a-a89366bde005? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"f517704c1476adf76dd7119001b07a5c"} device-1 | {"level":"info","message":"OPTIONS /devices/619d5488-85bf-419f-9c5a-a89366bde005? 200 1ms","method":"OPTIONS","requestID":"f517704c1476adf76dd7119001b07a5c","responseTime":1,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ","level":"info","message":"auth send jwt","requestID":"3e6fcd634e36a2c27579a816a2304e09"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3e6fcd634e36a2c27579a816a2304e09","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"3e6fcd634e36a2c27579a816a2304e09"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.336601,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3e6fcd634e36a2c27579a816a2304e09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3e6fcd634e36a2c27579a816a2304e09","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.365827243Z"}]},"request_id":"a40aac5b-bcaa-4793-802b-cd11da181a89","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.528549} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3e6fcd634e36a2c27579a816a2304e09","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3c23cd0-0a28-44bc-a6ed-657cf7af25bb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.5361915} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"3e6fcd634e36a2c27579a816a2304e09","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.365827243Z"}]},"request_id":"259c120c-05f7-49f4-89bb-f4bff2954e93","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.5485709} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3e6fcd634e36a2c27579a816a2304e09","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"3e6fcd634e36a2c27579a816a2304e09"} device-1 | {"level":"info","message":"PATCH /devices/619d5488-85bf-419f-9c5a-a89366bde005? 200 38ms","method":"PATCH","requestID":"3e6fcd634e36a2c27579a816a2304e09","responseTime":38,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/619d5488-85bf-419f-9c5a-a89366bde005? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3e6fcd634e36a2c27579a816a2304e09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ","level":"info","message":"auth send jwt","requestID":"1ce89edd48a681fb56b32a0c057b6579"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1ce89edd48a681fb56b32a0c057b6579","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1ce89edd48a681fb56b32a0c057b6579"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63381,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1ce89edd48a681fb56b32a0c057b6579","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1ce89edd48a681fb56b32a0c057b6579","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.365827243Z"}]},"request_id":"55949645-4be7-4fb6-8b8a-a4f8e616ae9f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.57767} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1ce89edd48a681fb56b32a0c057b6579","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1ce89edd48a681fb56b32a0c057b6579"} gateway-1 | {"time_local":"24/Sep/2024:23:56:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/619d5488-85bf-419f-9c5a-a89366bde005? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ce89edd48a681fb56b32a0c057b6579"} device-1 | {"level":"info","message":"GET /devices/619d5488-85bf-419f-9c5a-a89366bde005? 200 15ms","method":"GET","requestID":"1ce89edd48a681fb56b32a0c057b6579","responseTime":15,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ","level":"info","message":"auth send jwt","requestID":"04532a9fffce1e195a6529a8b0b4cc19"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"04532a9fffce1e195a6529a8b0b4cc19","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"04532a9fffce1e195a6529a8b0b4cc19"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240614,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"04532a9fffce1e195a6529a8b0b4cc19","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"04532a9fffce1e195a6529a8b0b4cc19","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.415951435Z"}]},"request_id":"8d85df2c-b277-4edf-8056-aad20c668706","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.6021967} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"04532a9fffce1e195a6529a8b0b4cc19","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"04532a9fffce1e195a6529a8b0b4cc19"} gateway-1 | {"time_local":"24/Sep/2024:23:56:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/14eb62a9-2e45-4841-938e-be0b305e3e67? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04532a9fffce1e195a6529a8b0b4cc19"} device-1 | {"level":"info","message":"GET /devices/14eb62a9-2e45-4841-938e-be0b305e3e67? 200 16ms","method":"GET","requestID":"04532a9fffce1e195a6529a8b0b4cc19","responseTime":16,"status":200,"url":"/devices/14eb62a9-2e45-4841-938e-be0b305e3e67?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ","level":"info","message":"auth send jwt","requestID":"c80493b4492d19d3c22f7982ff2256cd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c80493b4492d19d3c22f7982ff2256cd","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c80493b4492d19d3c22f7982ff2256cd"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.170189,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c80493b4492d19d3c22f7982ff2256cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c80493b4492d19d3c22f7982ff2256cd","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Attempting to run experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Attempting to book experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Successfully booked experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1b47840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1b4c660-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.104403,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1b47840-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1b47840-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.341091,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1b4c660-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1b4c660-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.365827243Z"}]},"request_id":"bdcaf177-5958-465a-9d90-13f091cbc7db","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.6643374} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a1b47840-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.415951435Z"}]},"request_id":"8a7016aa-91e9-4aad-adf3-37b863ef0c64","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.66685} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a1b4c660-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1b47840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/619d5488-85bf-419f-9c5a-a89366bde005? 200 21ms","method":"GET","requestID":"a1b47840-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1b4c660-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/14eb62a9-2e45-4841-938e-be0b305e3e67? 200 21ms","method":"GET","requestID":"a1b4c660-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/14eb62a9-2e45-4841-938e-be0b305e3e67?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Setting up experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Successfully set up experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1bf9bd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1bfe9f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1c03810-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Successfully running experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.714645,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1bf9bd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"a1bf9bd0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.783345,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1bfe9f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a1bfe9f0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49276","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49276","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.245282,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.415951435Z"}]},"request_id":"e20bfbe0-90ae-4813-9b47-cdebfd1d8a9a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.7402322} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3c1742f-17a6-4590-be2c-ab883f2b7b0c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.7405665} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a1bfe9f0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1c03810-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"a1c03810-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.365827243Z"}]},"request_id":"4f16e9e2-c79e-42ad-a789-ea607d018f91","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.7422078} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a1bf9bd0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1c03810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/619d5488-85bf-419f-9c5a-a89366bde005/signaling 200 21ms","method":"POST","requestID":"a1c03810-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1bfe9f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/14eb62a9-2e45-4841-938e-be0b305e3e67? 200 24ms","method":"GET","requestID":"a1bfe9f0-7ad0-11ef-9247-9909de679d1e","responseTime":24,"status":200,"url":"/devices/14eb62a9-2e45-4841-938e-be0b305e3e67?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1bf9bd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/619d5488-85bf-419f-9c5a-a89366bde005? 200 28ms","method":"GET","requestID":"a1bf9bd0-7ad0-11ef-9247-9909de679d1e","responseTime":28,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2cf9e640-bc2b-425f-aacb-074d61e5e196#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2cf9e640-bc2b-425f-aacb-074d61e5e196","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"39176e95-ce09-4a4e-8302-7187214ba943","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.7543685} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1c408a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efd641b2-cf9d-47de-a096-396bd1558890","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.7547688} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"c80493b4492d19d3c22f7982ff2256cd","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1c4cbf0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"138433fa-e971-4073-892f-ff528619ba86","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.7607422} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.302351,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c80493b4492d19d3c22f7982ff2256cd"} gateway-1 | {"time_local":"24/Sep/2024:23:56:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"782","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c80493b4492d19d3c22f7982ff2256cd"} experiment-1 | {"level":"info","message":"POST /experiments? 201 150ms","method":"POST","requestID":"c80493b4492d19d3c22f7982ff2256cd","responseTime":150,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1c408a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"a1c408a0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.034235,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a112d92-08b4-42e4-b390-4fe16e819e1a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.7657773} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1c4cbf0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ","level":"info","message":"auth send jwt","requestID":"64c10fffe3ffd73caabb711f9a6995ef"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"64c10fffe3ffd73caabb711f9a6995ef","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"a1c4cbf0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1c408a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/14eb62a9-2e45-4841-938e-be0b305e3e67/signaling 200 18ms","method":"POST","requestID":"a1c408a0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/14eb62a9-2e45-4841-938e-be0b305e3e67/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"64c10fffe3ffd73caabb711f9a6995ef"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1c4cbf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/619d5488-85bf-419f-9c5a-a89366bde005/signaling 200 18ms","method":"POST","requestID":"a1c4cbf0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.990489,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1c80040-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"64c10fffe3ffd73caabb711f9a6995ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"64c10fffe3ffd73caabb711f9a6995ef","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3aeab849-8e5d-4879-87be-966ee0dcdfbd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.7848926} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.365827243Z"}]},"request_id":"94999dd9-d99c-4725-8692-19890239c907","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.784993} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"64c10fffe3ffd73caabb711f9a6995ef","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.6233,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1c80040-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1c80040-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"64c10fffe3ffd73caabb711f9a6995ef"} gateway-1 | {"time_local":"24/Sep/2024:23:56:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/619d5488-85bf-419f-9c5a-a89366bde005? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64c10fffe3ffd73caabb711f9a6995ef"} device-1 | {"level":"info","message":"GET /devices/619d5488-85bf-419f-9c5a-a89366bde005? 200 14ms","method":"GET","requestID":"64c10fffe3ffd73caabb711f9a6995ef","responseTime":14,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1c80040-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/14eb62a9-2e45-4841-938e-be0b305e3e67/signaling 200 10ms","method":"POST","requestID":"a1c80040-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/14eb62a9-2e45-4841-938e-be0b305e3e67/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1c9d500-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ","level":"info","message":"auth send jwt","requestID":"ef73de9c4a3f9af73362caad8163b5af"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1c9fc10-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ef73de9c4a3f9af73362caad8163b5af","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ef73de9c4a3f9af73362caad8163b5af"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668294,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1c9d500-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a1c9d500-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.590289,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1c9fc10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a1c9fc10-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.608845,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ef73de9c4a3f9af73362caad8163b5af","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ef73de9c4a3f9af73362caad8163b5af","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.365827243Z"}]},"request_id":"ce95416e-5f1a-4240-a208-26a2e1977903","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.800454} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a1c9d500-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.415951435Z"}]},"request_id":"1ee1a1e2-0dec-4156-8270-0bcd98522279","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.8021219} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a1c9fc10-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1c9d500-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:33.415951435Z"}]},"request_id":"435daceb-a832-412a-9e9a-d2ef79b3ce04","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.8038352} device-1 | {"level":"info","message":"GET /devices/619d5488-85bf-419f-9c5a-a89366bde005? 200 12ms","method":"GET","requestID":"a1c9d500-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ef73de9c4a3f9af73362caad8163b5af","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1c9fc10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/14eb62a9-2e45-4841-938e-be0b305e3e67? 200 17ms","method":"GET","requestID":"a1c9fc10-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/14eb62a9-2e45-4841-938e-be0b305e3e67?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ef73de9c4a3f9af73362caad8163b5af"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Building connection plan","requestID":"c80493b4492d19d3c22f7982ff2256cd"} gateway-1 | {"time_local":"24/Sep/2024:23:56:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/14eb62a9-2e45-4841-938e-be0b305e3e67? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef73de9c4a3f9af73362caad8163b5af"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"67311504-11e6-448f-9a33-d35be56dcbff"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"3d99d47b-bdbd-4031-89be-ca53527b11f4"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/file","uuid":"b514bd26-1bce-466d-8cc5-c45c00778864"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c80493b4492d19d3c22f7982ff2256cd"} device-1 | {"level":"info","message":"GET /devices/14eb62a9-2e45-4841-938e-be0b305e3e67? 200 16ms","method":"GET","requestID":"ef73de9c4a3f9af73362caad8163b5af","responseTime":16,"status":200,"url":"/devices/14eb62a9-2e45-4841-938e-be0b305e3e67?"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"a1cd0950-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"a1cd0950-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"a1cd0950-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268?id=2474adfe-2514-4e20-aa9b-b00e5b9bb6de","ws://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268?id=bda3adfe-1730-4af9-8669-72f6c2f59d52"]},"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"c80493b4492d19d3c22f7982ff2256cd"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a1cd7e80-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.769978,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1cd7e80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222195,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5NX0.h-dBL8_jHdaktSv7wDY9NWwUjbQAWEczft0caN7scHQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a1cd7e80-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"c0906774-35b0-409b-8812-7f0442730313","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.8282888} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e446313d-250c-46a8-9f9e-73bb8669a2fe","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.8293524} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a1cd7e80-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a1cd7e80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a1cd7e80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358'","requestID":"a1cd7e80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358'","requestID":"a1cd7e80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a1cd7e80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"a1cd7e80-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"a1cd7e80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"59cb0780-de49-4c77-b469-f1a210eb7358","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"a1d2fcc0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\"","requestID":"a1d2fcc0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"a1d2fcc0-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d53dffac7c33aa92742718025a410b13","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d53dffac7c33aa92742718025a410b13","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358"}}},"level":"info","message":"received a callback","requestID":"d53dffac7c33aa92742718025a410b13"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"a1d39900-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"2474adfe-2514-4e20-aa9b-b00e5b9bb6de\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\"","requestID":"a1d39900-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"a1d39900-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} device-1 | {"data":{"peerconnection":"59cb0780-de49-4c77-b469-f1a210eb7358","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"d53dffac7c33aa92742718025a410b13","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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":"d53dffac7c33aa92742718025a410b13"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c80493b4492d19d3c22f7982ff2256cd"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1d74280-7ad0-11ef-9247-9909de679d1e"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f890f9e5-515a-4d56-b12d-518c94771c43","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.8847246} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.733054,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1d74280-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a1d74280-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} device-1 | {"data":{"peerconnection":"59cb0780-de49-4c77-b469-f1a210eb7358","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1d74280-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/619d5488-85bf-419f-9c5a-a89366bde005/signaling 200 11ms","method":"POST","requestID":"a1d74280-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1d96560-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6400637b-a045-4ceb-b681-3bf25b2770c3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.8985343} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.119953,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1d96560-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1d96560-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"59cb0780-de49-4c77-b469-f1a210eb7358","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1d96560-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/14eb62a9-2e45-4841-938e-be0b305e3e67/signaling 200 10ms","method":"POST","requestID":"a1d96560-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/14eb62a9-2e45-4841-938e-be0b305e3e67/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0e9f08a6c10c8ffc0a88fbdfbba70e6e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0e9f08a6c10c8ffc0a88fbdfbba70e6e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358"}}},"level":"info","message":"received a callback","requestID":"0e9f08a6c10c8ffc0a88fbdfbba70e6e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a1dbd660-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F59cb0780-de49-4c77-b469-f1a210eb7358","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b67fa153-a130-4e09-9a15-42bae7102b54","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.9141238} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":1.987725,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1dbd660-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358","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":"a1dbd660-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a1dbd660-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358 200 7ms","method":"GET","requestID":"a1dbd660-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 23ms","method":"POST","requestID":"0e9f08a6c10c8ffc0a88fbdfbba70e6e","responseTime":23,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.026","http_referrer":"","http_user_agent":"node-fetch","requestID":"0e9f08a6c10c8ffc0a88fbdfbba70e6e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1debc90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18c1bd08-5fac-46f2-a3cc-afdb30456931","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.9337358} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.244523,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1debc90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","object_type":"device","rebac_allow":false,"scope_allow":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":"a1debc90-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1debc90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/619d5488-85bf-419f-9c5a-a89366bde005/signaling 200 9ms","method":"POST","requestID":"a1debc90-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1e06a40-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"709d7463-fd9c-4981-b2ba-d1046cab483b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222195.944613} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.778225,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1e06a40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1e06a40-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1e06a40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/14eb62a9-2e45-4841-938e-be0b305e3e67/signaling 200 8ms","method":"POST","requestID":"a1e06a40-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/14eb62a9-2e45-4841-938e-be0b305e3e67/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk","level":"info","message":"auth send jwt","requestID":"9641ff91bb8419594fb83c71b0ddb244"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9641ff91bb8419594fb83c71b0ddb244","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196","requestID":"9641ff91bb8419594fb83c71b0ddb244"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.2662,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9641ff91bb8419594fb83c71b0ddb244","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222196,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9641ff91bb8419594fb83c71b0ddb244","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196","requestID":"9641ff91bb8419594fb83c71b0ddb244"} gateway-1 | {"time_local":"24/Sep/2024:23:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196 HTTP/1.1","status": "200","body_bytes_sent":"855","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9641ff91bb8419594fb83c71b0ddb244"} experiment-1 | {"level":"info","message":"GET /experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196 200 16ms","method":"GET","requestID":"9641ff91bb8419594fb83c71b0ddb244","responseTime":16,"status":200,"url":"/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk","level":"info","message":"auth send jwt","requestID":"fd369c2c0ff9b6a940d5fbb282fe55f0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fd369c2c0ff9b6a940d5fbb282fe55f0","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196","requestID":"fd369c2c0ff9b6a940d5fbb282fe55f0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.239124,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"fd369c2c0ff9b6a940d5fbb282fe55f0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222196,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fd369c2c0ff9b6a940d5fbb282fe55f0","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Attempting to finish experiment","requestID":"fd369c2c0ff9b6a940d5fbb282fe55f0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a1f63c30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.23563,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1f63c30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222196,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1f63c30-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268?id=bda3adfe-1730-4af9-8669-72f6c2f59d52 HTTP/1.1","status": "101","body_bytes_sent":"940747","request_time":"0.250","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"6b909a9e7cc89e42aaed376be71372d9"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"bda3adfe-1730-4af9-8669-72f6c2f59d52\" from room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358","device":"619d5488-85bf-419f-9c5a-a89366bde005","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} gateway-1 | {"time_local":"24/Sep/2024:23:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268?id=2474adfe-2514-4e20-aa9b-b00e5b9bb6de HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.247","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ce3bdaf94b516499a33fb6a1798d16c2"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"59cb0780-de49-4c77-b469-f1a210eb7358","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"2474adfe-2514-4e20-aa9b-b00e5b9bb6de\" in room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"2474adfe-2514-4e20-aa9b-b00e5b9bb6de\" from room \"http://localhost/rooms/ade2dbb7-81ba-4c99-a699-e05ba203c268\""} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e0a7cc606204cf9b3a0de51ba02b7949","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F59cb0780-de49-4c77-b469-f1a210eb7358': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F59cb0780-de49-4c77-b469-f1a210eb7358","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"e5559b4e-f79a-48c7-9e24-987fdb7af4de","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.1050682} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fa2dded-822d-4fc6-863b-4ae2663b2988","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.1052382} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e0a7cc606204cf9b3a0de51ba02b7949","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eddf7c7d094ff716362413b9da9c343a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358"}}},"level":"info","message":"received a callback","requestID":"e0a7cc606204cf9b3a0de51ba02b7949"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"a1f63c30-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eddf7c7d094ff716362413b9da9c343a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358"}}},"level":"info","message":"received a callback","requestID":"eddf7c7d094ff716362413b9da9c343a"} device-1 | {"data":{"peerconnection":"59cb0780-de49-4c77-b469-f1a210eb7358","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a1f63c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358 204 45ms","method":"DELETE","requestID":"a1f63c30-7ad0-11ef-9247-9909de679d1e","responseTime":45,"status":204,"url":"/peerconnections/59cb0780-de49-4c77-b469-f1a210eb7358"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"},"level":"info","message":"Successfully finished experiment","requestID":"fd369c2c0ff9b6a940d5fbb282fe55f0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2007560-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619d5488-85bf-419f-9c5a-a89366bde005","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b88c605f-4134-4d79-ad53-0e4f68ba7bd3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.1566741} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.990136,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a2007560-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/619d5488-85bf-419f-9c5a-a89366bde005","object_type":"device","rebac_allow":false,"scope_allow":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":"a2007560-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2007560-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/619d5488-85bf-419f-9c5a-a89366bde005/signaling 200 13ms","method":"POST","requestID":"a2007560-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/619d5488-85bf-419f-9c5a-a89366bde005/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2cf9e640-bc2b-425f-aacb-074d61e5e196': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2cf9e640-bc2b-425f-aacb-074d61e5e196","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"d8291e62-b734-4cb4-8ad7-d4b6984eb419","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.1651103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"439266b2-ed53-4823-beba-15dcef3a20ed","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.165702} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2030d70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"fd369c2c0ff9b6a940d5fbb282fe55f0","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14eb62a9-2e45-4841-938e-be0b305e3e67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f95c5810-92cd-4991-9fc0-0b15875ed9cf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.1752443} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.985048,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a2030d70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67","object_type":"device","rebac_allow":false,"scope_allow":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":"a2030d70-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2030d70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/14eb62a9-2e45-4841-938e-be0b305e3e67/signaling 200 15ms","method":"POST","requestID":"a2030d70-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/14eb62a9-2e45-4841-938e-be0b305e3e67/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196","requestID":"fd369c2c0ff9b6a940d5fbb282fe55f0"} gateway-1 | {"time_local":"24/Sep/2024:23:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd369c2c0ff9b6a940d5fbb282fe55f0"} experiment-1 | {"level":"info","message":"DELETE /experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196 204 173ms","method":"DELETE","requestID":"fd369c2c0ff9b6a940d5fbb282fe55f0","responseTime":173,"status":204,"url":"/experiments/2cf9e640-bc2b-425f-aacb-074d61e5e196"} gateway-1 | {"time_local":"24/Sep/2024:23:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1437","request_time":"2.270","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"a4d2790ee02568734645dd95b41c1c2e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"e0a7cc606204cf9b3a0de51ba02b7949","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"e0a7cc606204cf9b3a0de51ba02b7949"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"eddf7c7d094ff716362413b9da9c343a","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"eddf7c7d094ff716362413b9da9c343a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk","level":"info","message":"auth send jwt","requestID":"3f2a8470b616acbd5fdf24ece3784843"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3f2a8470b616acbd5fdf24ece3784843","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3f2a8470b616acbd5fdf24ece3784843"} gateway-1 | {"time_local":"24/Sep/2024:23:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1438","request_time":"0.782","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d510f751b2176e180ca1e3e12960e106"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.895663,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3f2a8470b616acbd5fdf24ece3784843","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222196,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3f2a8470b616acbd5fdf24ece3784843","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/14eb62a9-2e45-4841-938e-be0b305e3e67' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ca47c318-bce5-44a9-ae5d-96576bc14b70","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.263654} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3f2a8470b616acbd5fdf24ece3784843","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8be79403-b5c1-4a3b-aaf8-adc9eeb67dd1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.2678742} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3f2a8470b616acbd5fdf24ece3784843","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/619d5488-85bf-419f-9c5a-a89366bde005' closed"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"9bc08e56-933c-4bf9-9404-f1bd0a3f9142","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.283985} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d204b29c-7552-4a28-b98b-0a3aa603d7e8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.2841349} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"3f2a8470b616acbd5fdf24ece3784843","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.283961857Z"}]},"request_id":"ce5f4501-ae82-40d5-9697-ec5c9e96544f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.2880442} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3f2a8470b616acbd5fdf24ece3784843","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3f2a8470b616acbd5fdf24ece3784843"} gateway-1 | {"time_local":"24/Sep/2024:23:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f2a8470b616acbd5fdf24ece3784843"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"3f2a8470b616acbd5fdf24ece3784843","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk","level":"info","message":"auth send jwt","requestID":"c0112b578a58c1cd04dbf6a93cdef161"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c0112b578a58c1cd04dbf6a93cdef161","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c0112b578a58c1cd04dbf6a93cdef161"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.761508,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c0112b578a58c1cd04dbf6a93cdef161","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222196,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c0112b578a58c1cd04dbf6a93cdef161","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c1edb67c-749f-4bc3-a0ea-b2ff34ec7dc9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.3113225} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c0112b578a58c1cd04dbf6a93cdef161","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b79f6540-8ed3-4a2a-a41f-c44f1b508c86","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.315559} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c0112b578a58c1cd04dbf6a93cdef161","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"41c50c87-041f-44c5-bc28-47e6d4ad3d65","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.3255982} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d9365c1-a942-45ae-bd41-5f43d369b165","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.3258815} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"c0112b578a58c1cd04dbf6a93cdef161","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.325577099Z"}]},"request_id":"68a43b2e-7e05-42f2-9275-361d09b221fe","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.3306699} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c0112b578a58c1cd04dbf6a93cdef161","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c0112b578a58c1cd04dbf6a93cdef161"} gateway-1 | {"time_local":"24/Sep/2024:23:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0112b578a58c1cd04dbf6a93cdef161"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"c0112b578a58c1cd04dbf6a93cdef161","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk","level":"info","message":"auth send jwt","requestID":"e1c0692b4a8cdbb03ea5c820cf1b4ff6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e1c0692b4a8cdbb03ea5c820cf1b4ff6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e1c0692b4a8cdbb03ea5c820cf1b4ff6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.113467,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e1c0692b4a8cdbb03ea5c820cf1b4ff6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222196,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e1c0692b4a8cdbb03ea5c820cf1b4ff6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.283961857Z"}]},"request_id":"96b1fd96-0870-408f-b402-d63effa59621","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.8144987} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e1c0692b4a8cdbb03ea5c820cf1b4ff6","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed4c213e-804a-4d58-b767-402dadd77235","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.820256} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e1c0692b4a8cdbb03ea5c820cf1b4ff6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.283961857Z"}]},"request_id":"2b3c9df8-945f-40db-afbe-2aa2646401d6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222196.8318872} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e1c0692b4a8cdbb03ea5c820cf1b4ff6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e1c0692b4a8cdbb03ea5c820cf1b4ff6"} device-1 | {"level":"info","message":"PATCH /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4 200 32ms","method":"PATCH","requestID":"e1c0692b4a8cdbb03ea5c820cf1b4ff6","responseTime":32,"status":200,"url":"/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4"} gateway-1 | {"time_local":"24/Sep/2024:23:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"e1c0692b4a8cdbb03ea5c820cf1b4ff6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk","level":"info","message":"auth send jwt","requestID":"3a68d7be4919485dc7763f541b2db8aa"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3a68d7be4919485dc7763f541b2db8aa","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3a68d7be4919485dc7763f541b2db8aa"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.226706,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3a68d7be4919485dc7763f541b2db8aa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222196,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5Nn0.Fmaez--wammd0EfmIoqV3fkbsnjgCFhDCq_tyKkfbtk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3a68d7be4919485dc7763f541b2db8aa","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3a68d7be4919485dc7763f541b2db8aa"} gateway-1 | {"time_local":"24/Sep/2024:23:56:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"3a68d7be4919485dc7763f541b2db8aa"} device-1 | {"level":"info","message":"POST /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/websocket 200 21ms","method":"POST","requestID":"3a68d7be4919485dc7763f541b2db8aa","responseTime":21,"status":200,"url":"/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"be48be2481a5c38b11a1d924ae83b690","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"be48be2481a5c38b11a1d924ae83b690","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/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":"be48be2481a5c38b11a1d924ae83b690"} device-1 | {"level":"info","message":"OPTIONS /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/websocket 200 1ms","method":"OPTIONS","requestID":"be48be2481a5c38b11a1d924ae83b690","responseTime":1,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ","level":"info","message":"auth send jwt","requestID":"fbd1fc8443a0c9f704ffea08e2c23035"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fbd1fc8443a0c9f704ffea08e2c23035","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fbd1fc8443a0c9f704ffea08e2c23035"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.097115,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"fbd1fc8443a0c9f704ffea08e2c23035","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"fbd1fc8443a0c9f704ffea08e2c23035","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fbd1fc8443a0c9f704ffea08e2c23035"} gateway-1 | {"time_local":"24/Sep/2024:23:56:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fbd1fc8443a0c9f704ffea08e2c23035"} device-1 | {"level":"info","message":"POST /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/websocket 200 25ms","method":"POST","requestID":"fbd1fc8443a0c9f704ffea08e2c23035","responseTime":25,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c7df679226538e5556412e08a82225af","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c7df679226538e5556412e08a82225af","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"c7df679226538e5556412e08a82225af"} device-1 | {"level":"info","message":"OPTIONS /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92? 200 1ms","method":"OPTIONS","requestID":"c7df679226538e5556412e08a82225af","responseTime":1,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ","level":"info","message":"auth send jwt","requestID":"a3f3077d75f08242efdb6ecd7b60c2a4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a3f3077d75f08242efdb6ecd7b60c2a4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a3f3077d75f08242efdb6ecd7b60c2a4"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.263976,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a3f3077d75f08242efdb6ecd7b60c2a4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a3f3077d75f08242efdb6ecd7b60c2a4","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.325577099Z"}]},"request_id":"bee12e7f-af05-40e7-9b2a-bd311668d74c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.4530387} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"a3f3077d75f08242efdb6ecd7b60c2a4","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"15d62585-ca11-4142-a4b4-a89ed979d8d4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.4644883} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"a3f3077d75f08242efdb6ecd7b60c2a4","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.325577099Z"}]},"request_id":"88e0f09d-6fbb-4a2b-873a-da939cd055cd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.473358} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a3f3077d75f08242efdb6ecd7b60c2a4","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a3f3077d75f08242efdb6ecd7b60c2a4"} gateway-1 | {"time_local":"24/Sep/2024:23:56:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.047","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a3f3077d75f08242efdb6ecd7b60c2a4"} device-1 | {"level":"info","message":"PATCH /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92? 200 41ms","method":"PATCH","requestID":"a3f3077d75f08242efdb6ecd7b60c2a4","responseTime":41,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ","level":"info","message":"auth send jwt","requestID":"3b08e436a899c132ff1c2e2d8740be96"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3b08e436a899c132ff1c2e2d8740be96","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3b08e436a899c132ff1c2e2d8740be96"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.185959,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3b08e436a899c132ff1c2e2d8740be96","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"3b08e436a899c132ff1c2e2d8740be96","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.283961857Z"}]},"request_id":"87644354-bf70-4ce0-8627-79de71825215","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.5066302} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3b08e436a899c132ff1c2e2d8740be96","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3b08e436a899c132ff1c2e2d8740be96"} gateway-1 | {"time_local":"24/Sep/2024:23:56:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b08e436a899c132ff1c2e2d8740be96"} device-1 | {"level":"info","message":"GET /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4? 200 22ms","method":"GET","requestID":"3b08e436a899c132ff1c2e2d8740be96","responseTime":22,"status":200,"url":"/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ","level":"info","message":"auth send jwt","requestID":"d46549cb7f58845231802538aa3eeafa"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d46549cb7f58845231802538aa3eeafa","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d46549cb7f58845231802538aa3eeafa"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.368742,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d46549cb7f58845231802538aa3eeafa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d46549cb7f58845231802538aa3eeafa","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.325577099Z"}]},"request_id":"73754871-92fa-4409-9e72-7ea207645869","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.5341554} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d46549cb7f58845231802538aa3eeafa","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d46549cb7f58845231802538aa3eeafa"} gateway-1 | {"time_local":"24/Sep/2024:23:56:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d46549cb7f58845231802538aa3eeafa"} device-1 | {"level":"info","message":"GET /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92? 200 19ms","method":"GET","requestID":"d46549cb7f58845231802538aa3eeafa","responseTime":19,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ","level":"info","message":"auth send jwt","requestID":"b7a987018a74031b23a5cbc3de83e201"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b7a987018a74031b23a5cbc3de83e201","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b7a987018a74031b23a5cbc3de83e201"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.388504,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b7a987018a74031b23a5cbc3de83e201","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b7a987018a74031b23a5cbc3de83e201","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Attempting to run experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Attempting to book experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Successfully booked experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a3758930-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a375d750-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650717,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a3758930-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a3758930-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.586902,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a375d750-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a375d750-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.283961857Z"}]},"request_id":"d7e9f1e2-8a0d-4bd6-bf9a-d1f24089a49a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.6036959} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a3758930-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.325577099Z"}]},"request_id":"83bbb123-2895-4cee-81d5-4b86356b90ed","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.604616} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a375d750-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a3758930-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4? 200 21ms","method":"GET","requestID":"a3758930-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a375d750-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92? 200 20ms","method":"GET","requestID":"a375d750-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Setting up experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Successfully set up experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a38085b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a380d3d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a380fae0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Successfully running experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687047,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a38085b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a38085b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.599506,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49276","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a380d3d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"a380d3d0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49276","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.938986,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9ca747a-8cc9-4cad-a367-da9f905a8d70","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.6755009} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a380fae0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","object_type":"device","rebac_allow":false,"scope_allow":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":"a380fae0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.283961857Z"}]},"request_id":"99d480e6-92fe-4504-bfc0-29eb61ca940d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.68064} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a38085b0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a380fae0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.325577099Z"}]},"request_id":"07703972-8b9c-4a7c-9fb2-8509f12da8a0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.682812} device-1 | {"level":"info","message":"POST /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/signaling 200 13ms","method":"POST","requestID":"a380fae0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a380d3d0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a38392f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a38085b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} device-1 | {"level":"info","message":"GET /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4? 200 23ms","method":"GET","requestID":"a38085b0-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a380d3d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92? 200 23ms","method":"GET","requestID":"a380d3d0-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"039f3586-9489-45eb-93a3-f8f05aab49a2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.6929493} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4ca75034-2af5-4be1-9d1e-a29e12eb7eff#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4ca75034-2af5-4be1-9d1e-a29e12eb7eff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"b1c1c204-8bb0-4f9d-92c7-2774b9fab1a3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.6941566} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.684703,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a384a460-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a38392f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","object_type":"device","rebac_allow":false,"scope_allow":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":"a38392f0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"827b6fc3-023c-4f6d-84f3-2f46ba3ddd2b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.6944458} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a38392f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/signaling 200 11ms","method":"POST","requestID":"a38392f0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"b7a987018a74031b23a5cbc3de83e201","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b499a5b7-32b4-4e60-b6aa-3d0f7a5d8fb8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.7008972} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.103933,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a384a460-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","object_type":"device","rebac_allow":false,"scope_allow":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":"a384a460-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b7a987018a74031b23a5cbc3de83e201"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a384a460-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/signaling 200 12ms","method":"POST","requestID":"a384a460-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/signaling"} gateway-1 | {"time_local":"24/Sep/2024:23:56:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"782","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7a987018a74031b23a5cbc3de83e201"} experiment-1 | {"level":"info","message":"POST /experiments? 201 159ms","method":"POST","requestID":"b7a987018a74031b23a5cbc3de83e201","responseTime":159,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a386ee50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ","level":"info","message":"auth send jwt","requestID":"2f3892b18b7d108b3e1639132f9f7717"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2f3892b18b7d108b3e1639132f9f7717","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2f3892b18b7d108b3e1639132f9f7717"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8820817d-c81b-4b42-a4ea-7e8a39ce717b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.7160156} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.563251,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a386ee50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","object_type":"device","rebac_allow":false,"scope_allow":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":"a386ee50-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.817651,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2f3892b18b7d108b3e1639132f9f7717","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2f3892b18b7d108b3e1639132f9f7717","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a386ee50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/signaling 200 16ms","method":"POST","requestID":"a386ee50-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a389ad70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a389fb90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.283961857Z"}]},"request_id":"863e5c6d-8c24-4530-8a82-9fde29af2c22","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.7272146} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"2f3892b18b7d108b3e1639132f9f7717","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2f3892b18b7d108b3e1639132f9f7717"} gateway-1 | {"time_local":"24/Sep/2024:23:56:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f3892b18b7d108b3e1639132f9f7717"} device-1 | {"level":"info","message":"GET /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4? 200 20ms","method":"GET","requestID":"2f3892b18b7d108b3e1639132f9f7717","responseTime":20,"status":200,"url":"/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.16162,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a389ad70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"a389ad70-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.551613,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a389fb90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ","level":"info","message":"auth send jwt","requestID":"7ab4e599416abe0ccf9d6d66f5ad5c4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"a389fb90-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7ab4e599416abe0ccf9d6d66f5ad5c4c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7ab4e599416abe0ccf9d6d66f5ad5c4c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.283961857Z"}]},"request_id":"5bff986c-52cd-46dc-bef8-f3a279617753","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.7477982} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.325577099Z"}]},"request_id":"2089dbcf-ede8-464e-a7af-d74ec0d91cf7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.74951} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a389ad70-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a389ad70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4? 200 27ms","method":"GET","requestID":"a389ad70-7ad0-11ef-9247-9909de679d1e","responseTime":27,"status":200,"url":"/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"a389fb90-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720242,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7ab4e599416abe0ccf9d6d66f5ad5c4c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"7ab4e599416abe0ccf9d6d66f5ad5c4c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a389fb90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92? 200 32ms","method":"GET","requestID":"a389fb90-7ad0-11ef-9247-9909de679d1e","responseTime":32,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Building connection plan","requestID":"b7a987018a74031b23a5cbc3de83e201"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"6e4e42b1-ef32-4934-a808-72a12b3a8b3e"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"41d02c3e-451e-4d9b-84dd-3999c83c073c"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/file","uuid":"98cf1e93-97b4-44ab-a3e5-4f072e3636ad"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b7a987018a74031b23a5cbc3de83e201"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:36.325577099Z"}]},"request_id":"cd69cb61-d9bf-4c6c-9728-ea9df19bee54","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.7630005} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7ab4e599416abe0ccf9d6d66f5ad5c4c","responseTime":4,"status":200,"url":"/relations/query"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"a38f52c0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"a38f52c0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"a38f52c0-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd?id=12ffacee-bb76-42ef-afb0-13cd0301a34a","ws://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd?id=5c358ff6-f082-499e-9bd7-2a60413b57ff"]},"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"b7a987018a74031b23a5cbc3de83e201"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7ab4e599416abe0ccf9d6d66f5ad5c4c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ab4e599416abe0ccf9d6d66f5ad5c4c"} device-1 | {"level":"info","message":"GET /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92? 200 20ms","method":"GET","requestID":"7ab4e599416abe0ccf9d6d66f5ad5c4c","responseTime":20,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a38fc7f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.690277,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a38fc7f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222198,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OH0.FVM0xulWTzaECGvhzrDjrfPTF9xqGOrEMgRshISvmCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a38fc7f0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"0f3105cb-84ca-478a-9484-bf40dcd3e139","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.7804124} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2e26b2c-abba-4a31-afed-3d36d3573709","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.7805917} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"a38fc7f0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a38fc7f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a38fc7f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632'","requestID":"a38fc7f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632'","requestID":"a38fc7f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a38fc7f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"a38fc7f0-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"a38fc7f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bb6a8dd0-b71b-4955-9b4c-2e3327f91632","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"a3951f20-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"5c358ff6-f082-499e-9bd7-2a60413b57ff\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\"","requestID":"a3951f20-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a42d63ea6b3875f928562cfdcdba2ae7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"a3951f20-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a42d63ea6b3875f928562cfdcdba2ae7","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"a3956d40-7ad0-11ef-a772-4d02dbd671ac"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632"}}},"level":"info","message":"received a callback","requestID":"a42d63ea6b3875f928562cfdcdba2ae7"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\"","requestID":"a3956d40-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"a3956d40-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} device-1 | {"data":{"peerconnection":"bb6a8dd0-b71b-4955-9b4c-2e3327f91632","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 15ms","method":"POST","requestID":"a42d63ea6b3875f928562cfdcdba2ae7","responseTime":15,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.017","http_referrer":"","http_user_agent":"node-fetch","requestID":"a42d63ea6b3875f928562cfdcdba2ae7"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} device-1 | {"data":{"peerconnection":"bb6a8dd0-b71b-4955-9b4c-2e3327f91632","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b7a987018a74031b23a5cbc3de83e201"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a39aeb80-7ad0-11ef-9247-9909de679d1e"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bb6a8dd0-b71b-4955-9b4c-2e3327f91632","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"801cdb2a-c49e-4818-9efd-61fc9e55162c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.8456683} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0a3ff699feb33a36f6554cdeb7927c38","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.332727,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a39aeb80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","object_type":"device","rebac_allow":false,"scope_allow":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":"a39aeb80-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0a3ff699feb33a36f6554cdeb7927c38","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632"}}},"level":"info","message":"received a callback","requestID":"0a3ff699feb33a36f6554cdeb7927c38"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a39dd1b0-7ad0-11ef-9247-9909de679d1e"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a39aeb80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/signaling 200 22ms","method":"POST","requestID":"a39aeb80-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/signaling"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a39ebc10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbb6a8dd0-b71b-4955-9b4c-2e3327f91632","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb58e486-57d4-475a-b765-603964998ddd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.86721} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.731509,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a39dd1b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"a39dd1b0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c71f255f-b644-4b45-aee9-e929ad76d6a4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.8704407} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.696873,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a39dd1b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a39ebc10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a39ebc10-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632 200 13ms","method":"GET","requestID":"a39dd1b0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a39ebc10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/signaling 200 13ms","method":"POST","requestID":"a39ebc10-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/signaling"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"0a3ff699feb33a36f6554cdeb7927c38","responseTime":35,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a3a1f060-7ad0-11ef-9247-9909de679d1e"} gateway-1 | {"time_local":"24/Sep/2024:23:56: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"0a3ff699feb33a36f6554cdeb7927c38"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3745c31-9c22-43f5-ac28-29267fd5e0a6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.8918538} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.895448,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a3a1f060-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a3a1f060-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a3a1f060-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/signaling 200 10ms","method":"POST","requestID":"a3a1f060-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a3a3c520-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7f8cec3-fadd-4712-84a0-078087daf482","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222198.902595} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.126757,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a3a3c520-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a3a3c520-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a3a3c520-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/signaling 200 8ms","method":"POST","requestID":"a3a3c520-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U","level":"info","message":"auth send jwt","requestID":"720fb7175c92b294c2beb0caa11ed3f8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"720fb7175c92b294c2beb0caa11ed3f8","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff","requestID":"720fb7175c92b294c2beb0caa11ed3f8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.264553,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"720fb7175c92b294c2beb0caa11ed3f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222199,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"720fb7175c92b294c2beb0caa11ed3f8","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff","requestID":"720fb7175c92b294c2beb0caa11ed3f8"} gateway-1 | {"time_local":"24/Sep/2024:23:56:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff HTTP/1.1","status": "200","body_bytes_sent":"855","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"720fb7175c92b294c2beb0caa11ed3f8"} experiment-1 | {"level":"info","message":"GET /experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff 200 16ms","method":"GET","requestID":"720fb7175c92b294c2beb0caa11ed3f8","responseTime":16,"status":200,"url":"/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U","level":"info","message":"auth send jwt","requestID":"37e138a11afdb5cfb9b45b8125dec539"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"37e138a11afdb5cfb9b45b8125dec539","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff","requestID":"37e138a11afdb5cfb9b45b8125dec539"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.244044,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"37e138a11afdb5cfb9b45b8125dec539","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222199,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"37e138a11afdb5cfb9b45b8125dec539","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Attempting to finish experiment","requestID":"37e138a11afdb5cfb9b45b8125dec539"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a3db4fe0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.369295,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a3db4fe0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222199,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a3db4fe0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd?id=5c358ff6-f082-499e-9bd7-2a60413b57ff HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.477","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"f6ab5060b93efd615078d497f9b7c39b"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"5c358ff6-f082-499e-9bd7-2a60413b57ff\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"5c358ff6-f082-499e-9bd7-2a60413b57ff\" from room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632","device":"619b1d9c-c99e-450b-870b-fce0f3e5fa92","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} gateway-1 | {"time_local":"24/Sep/2024:23:56:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd?id=12ffacee-bb76-42ef-afb0-13cd0301a34a HTTP/1.1","status": "101","body_bytes_sent":"1203025","request_time":"0.478","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0667ad21090a6fdeca1011c31da01769"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bb6a8dd0-b71b-4955-9b4c-2e3327f91632","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" in room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"12ffacee-bb76-42ef-afb0-13cd0301a34a\" from room \"http://localhost/rooms/3ea3884b-14b2-44c4-809f-6654c1a299fd\""} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"06a0e68577cf4b06a4c752722fad60c9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"06a0e68577cf4b06a4c752722fad60c9","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7df28da8ec00ef030c4b99c8fe652a9a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632"}}},"level":"info","message":"received a callback","requestID":"06a0e68577cf4b06a4c752722fad60c9"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7df28da8ec00ef030c4b99c8fe652a9a","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbb6a8dd0-b71b-4955-9b4c-2e3327f91632': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbb6a8dd0-b71b-4955-9b4c-2e3327f91632","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"04a39107-6e63-46f7-8a3f-2b90a62b0225","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.286751} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632"}}},"level":"info","message":"received a callback","requestID":"7df28da8ec00ef030c4b99c8fe652a9a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26977c8d-656a-4ad5-bd67-db247b417cf8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.2871737} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"a3db4fe0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"bb6a8dd0-b71b-4955-9b4c-2e3327f91632","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a3db4fe0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632 204 45ms","method":"DELETE","requestID":"a3db4fe0-7ad0-11ef-9247-9909de679d1e","responseTime":45,"status":204,"url":"/peerconnections/bb6a8dd0-b71b-4955-9b4c-2e3327f91632"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"},"level":"info","message":"Successfully finished experiment","requestID":"37e138a11afdb5cfb9b45b8125dec539"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a3e58910-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F619b1d9c-c99e-450b-870b-fce0f3e5fa92","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f8e1845-d4b3-4f40-b142-9d906b79545a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.3362567} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.119458,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a3e58910-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92","object_type":"device","rebac_allow":false,"scope_allow":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":"a3e58910-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a3e58910-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/signaling 200 13ms","method":"POST","requestID":"a3e58910-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a3e7fa10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4ca75034-2af5-4be1-9d1e-a29e12eb7eff': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4ca75034-2af5-4be1-9d1e-a29e12eb7eff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"9f07cb51-fbc8-4e48-8106-c997d8743367","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.345327} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50a34443-4afb-48cb-8cd5-497b45397fcd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.345477} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"37e138a11afdb5cfb9b45b8125dec539","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"306a8414-40ea-4b65-9599-04a56ac95b03","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.353121} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.22787,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a3e7fa10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4","object_type":"device","rebac_allow":false,"scope_allow":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":"a3e7fa10-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a3e7fa10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/signaling 200 14ms","method":"POST","requestID":"a3e7fa10-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff","requestID":"37e138a11afdb5cfb9b45b8125dec539"} gateway-1 | {"time_local":"24/Sep/2024:23:56:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37e138a11afdb5cfb9b45b8125dec539"} experiment-1 | {"level":"info","message":"DELETE /experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff 204 171ms","method":"DELETE","requestID":"37e138a11afdb5cfb9b45b8125dec539","responseTime":171,"status":204,"url":"/experiments/4ca75034-2af5-4be1-9d1e-a29e12eb7eff"} gateway-1 | {"time_local":"24/Sep/2024:23:56:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1437","request_time":"2.552","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"3107e1d996442bdfa6f89cdfe965f604"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"06a0e68577cf4b06a4c752722fad60c9","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"06a0e68577cf4b06a4c752722fad60c9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"7df28da8ec00ef030c4b99c8fe652a9a","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"7df28da8ec00ef030c4b99c8fe652a9a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U","level":"info","message":"auth send jwt","requestID":"61851d4004bc47802586e967c02ddee9"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"61851d4004bc47802586e967c02ddee9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"61851d4004bc47802586e967c02ddee9"} gateway-1 | {"time_local":"24/Sep/2024:23:56:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1438","request_time":"1.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6633a2b8a4c65e17b303c621b54ed13f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.986193,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:39Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a1d58c47-f6e3-49cf-9dfe-3bc209e1b1f4' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"61851d4004bc47802586e967c02ddee9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222199,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"61851d4004bc47802586e967c02ddee9","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/619b1d9c-c99e-450b-870b-fce0f3e5fa92' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bd54d735-875d-4603-b727-21e75aba37d9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.4450493} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"61851d4004bc47802586e967c02ddee9","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9d7347a-af8c-4f66-871f-1059156aa414","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.4506297} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"61851d4004bc47802586e967c02ddee9","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"2146731b-a61b-48b5-b8d0-d5bc9eae5a5c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.459705} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a7b7bda-b3a5-4ce5-b371-55d3342ce720","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.459904} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"61851d4004bc47802586e967c02ddee9","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.459681645Z"}]},"request_id":"5eaa08b2-28c7-4c94-a136-63be183d65bb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.464678} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"61851d4004bc47802586e967c02ddee9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"61851d4004bc47802586e967c02ddee9"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"61851d4004bc47802586e967c02ddee9","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61851d4004bc47802586e967c02ddee9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U","level":"info","message":"auth send jwt","requestID":"560b1d1420709fe23b5a0773fbb011ad"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"560b1d1420709fe23b5a0773fbb011ad","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"560b1d1420709fe23b5a0773fbb011ad"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.7183,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"560b1d1420709fe23b5a0773fbb011ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222199,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"560b1d1420709fe23b5a0773fbb011ad","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5f6252e0-58cd-4929-a08d-cf63211109cd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.4885638} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"560b1d1420709fe23b5a0773fbb011ad","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08468725-377b-494e-8594-5e21b07113fa","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.493722} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"560b1d1420709fe23b5a0773fbb011ad","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"07da3628-b47d-46db-a6be-aeee82bb4b53","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.5106132} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f57666d7-a780-4618-94d9-e1422e6091e3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.51072} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"560b1d1420709fe23b5a0773fbb011ad","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.510590314Z"}]},"request_id":"f1ffae88-7680-407f-a46d-200a7b8d4686","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.5157113} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"560b1d1420709fe23b5a0773fbb011ad","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"560b1d1420709fe23b5a0773fbb011ad"} gateway-1 | {"time_local":"24/Sep/2024:23:56:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"560b1d1420709fe23b5a0773fbb011ad"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"560b1d1420709fe23b5a0773fbb011ad","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U","level":"info","message":"auth send jwt","requestID":"dbc196c1ab9673bc98e8b911b80b06e3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dbc196c1ab9673bc98e8b911b80b06e3","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U","level":"info","message":"auth send jwt","requestID":"33650f08d32e480b1bcffc75899d405e"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"dbc196c1ab9673bc98e8b911b80b06e3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"33650f08d32e480b1bcffc75899d405e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"33650f08d32e480b1bcffc75899d405e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.223918,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dbc196c1ab9673bc98e8b911b80b06e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222199,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dbc196c1ab9673bc98e8b911b80b06e3","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739288,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"33650f08d32e480b1bcffc75899d405e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222199,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjE5OX0.2nkKEhFsZQbSMT4_UP1oZJhVTbfuaBXwaz4RlL6L4-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"33650f08d32e480b1bcffc75899d405e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.510590314Z"}]},"request_id":"4f8d0be2-90e4-47c0-b954-c195932a8608","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.9934375} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dbc196c1ab9673bc98e8b911b80b06e3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.459681645Z"}]},"request_id":"4945461b-7078-4db9-9d68-cec2a36aae5c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222199.9946218} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"33650f08d32e480b1bcffc75899d405e","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"723d3cb3-a67d-4197-83cd-f7995973c22c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.0006497} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"dbc196c1ab9673bc98e8b911b80b06e3","responseTime":7,"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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cfdd68b8-6619-4eed-a021-b3b914df0a5a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.004227} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"33650f08d32e480b1bcffc75899d405e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.459681645Z"}]},"request_id":"3ddae481-0407-449c-a6ae-85db7c5a9ab7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.006606} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"33650f08d32e480b1bcffc75899d405e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"33650f08d32e480b1bcffc75899d405e"} device-1 | {"level":"info","message":"PATCH /devices/331b5258-0114-466a-828f-917326b191b1 200 29ms","method":"PATCH","requestID":"33650f08d32e480b1bcffc75899d405e","responseTime":29,"status":200,"url":"/devices/331b5258-0114-466a-828f-917326b191b1"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/331b5258-0114-466a-828f-917326b191b1 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"33650f08d32e480b1bcffc75899d405e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A","level":"info","message":"auth send jwt","requestID":"19607984626d2a0a61106a8b8e56420e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"19607984626d2a0a61106a8b8e56420e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"19607984626d2a0a61106a8b8e56420e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.510590314Z"}]},"request_id":"bb520ab4-86e7-4eab-ad83-43b178a82b17","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.017025} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dbc196c1ab9673bc98e8b911b80b06e3","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898001,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"dbc196c1ab9673bc98e8b911b80b06e3"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"19607984626d2a0a61106a8b8e56420e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} device-1 | {"level":"info","message":"PATCH /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b 200 40ms","method":"PATCH","requestID":"dbc196c1ab9673bc98e8b911b80b06e3","responseTime":40,"status":200,"url":"/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"dbc196c1ab9673bc98e8b911b80b06e3"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"19607984626d2a0a61106a8b8e56420e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A","level":"info","message":"auth send jwt","requestID":"d300a6cf63e92cdf03a38a0c91e82402"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d300a6cf63e92cdf03a38a0c91e82402","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d300a6cf63e92cdf03a38a0c91e82402"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.633037,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d300a6cf63e92cdf03a38a0c91e82402","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d300a6cf63e92cdf03a38a0c91e82402","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"19607984626d2a0a61106a8b8e56420e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/331b5258-0114-466a-828f-917326b191b1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.129","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"19607984626d2a0a61106a8b8e56420e"} device-1 | {"level":"info","message":"POST /devices/331b5258-0114-466a-828f-917326b191b1/websocket 200 125ms","method":"POST","requestID":"19607984626d2a0a61106a8b8e56420e","responseTime":125,"status":200,"url":"/devices/331b5258-0114-466a-828f-917326b191b1/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d300a6cf63e92cdf03a38a0c91e82402"} device-1 | {"level":"info","message":"POST /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/websocket 200 126ms","method":"POST","requestID":"d300a6cf63e92cdf03a38a0c91e82402","responseTime":126,"status":200,"url":"/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.133","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"d300a6cf63e92cdf03a38a0c91e82402"} device-1 | {"level":"info","message":"device 'http://localhost/devices/331b5258-0114-466a-828f-917326b191b1' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A","level":"info","message":"auth send jwt","requestID":"2c093dfee4ae99195c6cacd5607658ed"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2c093dfee4ae99195c6cacd5607658ed","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2c093dfee4ae99195c6cacd5607658ed"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.15099,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2c093dfee4ae99195c6cacd5607658ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2c093dfee4ae99195c6cacd5607658ed","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.459681645Z"}]},"request_id":"227a1b03-0d3c-4673-9e58-001ed133b05a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.1888492} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2c093dfee4ae99195c6cacd5607658ed","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2c093dfee4ae99195c6cacd5607658ed"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/331b5258-0114-466a-828f-917326b191b1? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c093dfee4ae99195c6cacd5607658ed"} device-1 | {"level":"info","message":"GET /devices/331b5258-0114-466a-828f-917326b191b1? 200 17ms","method":"GET","requestID":"2c093dfee4ae99195c6cacd5607658ed","responseTime":17,"status":200,"url":"/devices/331b5258-0114-466a-828f-917326b191b1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A","level":"info","message":"auth send jwt","requestID":"998e9ea74849507f1160e1419d7d0d4b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"998e9ea74849507f1160e1419d7d0d4b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"998e9ea74849507f1160e1419d7d0d4b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642906,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"998e9ea74849507f1160e1419d7d0d4b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"998e9ea74849507f1160e1419d7d0d4b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.510590314Z"}]},"request_id":"1d5f7058-59cb-4381-adcb-8a8c3cb84974","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.2138963} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"998e9ea74849507f1160e1419d7d0d4b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"998e9ea74849507f1160e1419d7d0d4b"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"998e9ea74849507f1160e1419d7d0d4b"} device-1 | {"level":"info","message":"GET /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b? 200 16ms","method":"GET","requestID":"998e9ea74849507f1160e1419d7d0d4b","responseTime":16,"status":200,"url":"/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A","level":"info","message":"auth send jwt","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ad3d00f02cfea7c7eab337e1d5880a98","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.31597,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ad3d00f02cfea7c7eab337e1d5880a98","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ad3d00f02cfea7c7eab337e1d5880a98","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Attempting to run experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Attempting to book experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Successfully booked experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a475bb20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a4763050-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741143,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a475bb20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a475bb20-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.550797,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4763050-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a4763050-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.459681645Z"}]},"request_id":"f356872c-f771-4afe-be13-176a72019d43","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.2834365} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a475bb20-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.510590314Z"}]},"request_id":"a616d99c-3cb0-4641-a9bc-eedcc814170b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.2847443} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a4763050-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a475bb20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/331b5258-0114-466a-828f-917326b191b1? 200 17ms","method":"GET","requestID":"a475bb20-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/331b5258-0114-466a-828f-917326b191b1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a4763050-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b? 200 15ms","method":"GET","requestID":"a4763050-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Setting up experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Successfully set up experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a47f7f20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a47fcd40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a47ff450-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Successfully running experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90412,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a47f7f20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a47f7f20-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.307737,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:49276","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a47fcd40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"a47fcd40-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49276","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.369403,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0866e34f-64fa-45c9-a0d4-2e1b59266d09","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.346248} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a47ff450-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","object_type":"device","rebac_allow":false,"scope_allow":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":"a47ff450-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.459681645Z"}]},"request_id":"0f515084-21a7-4b38-9e4e-55887d95b842","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.3507023} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a47ff450-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/331b5258-0114-466a-828f-917326b191b1/signaling 200 12ms","method":"POST","requestID":"a47ff450-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/331b5258-0114-466a-828f-917326b191b1/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a47f7f20-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.510590314Z"}]},"request_id":"00f62c3e-c02e-40fe-ae81-e8c4b5c28f1b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.354319} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a47fcd40-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a4823e40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a47f7f20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/331b5258-0114-466a-828f-917326b191b1? 200 22ms","method":"GET","requestID":"a47f7f20-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/331b5258-0114-466a-828f-917326b191b1?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a47fcd40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b? 200 21ms","method":"GET","requestID":"a47fcd40-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14ff4ea5-a118-4f6a-980b-50fb736b6135","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.3628314} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.545729,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a4834fb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4823e40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","object_type":"device","rebac_allow":false,"scope_allow":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":"a4823e40-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a4823e40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/signaling 200 11ms","method":"POST","requestID":"a4823e40-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10645e0d-e29a-4e06-861c-36fdfdee31ec","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.368188} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c097125-6251-48a1-ba47-8b5b62b077fe#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c097125-6251-48a1-ba47-8b5b62b077fe","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"89b4d092-3b91-44f1-bdc6-baa32f2f2d8b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.368564} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f23b87c-95ea-45fe-a89a-217ef93bdad9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.368885} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.834186,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4834fb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a4834fb0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"ad3d00f02cfea7c7eab337e1d5880a98","responseTime":25,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a4834fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/331b5258-0114-466a-828f-917326b191b1/signaling 200 10ms","method":"POST","requestID":"a4834fb0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/331b5258-0114-466a-828f-917326b191b1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a4854b80-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"786","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} experiment-1 | {"level":"info","message":"POST /experiments? 201 151ms","method":"POST","requestID":"ad3d00f02cfea7c7eab337e1d5880a98","responseTime":151,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"011602f2-e2a7-4ec0-b366-c408c997716b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.3809297} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.422178,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4854b80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","object_type":"device","rebac_allow":false,"scope_allow":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":"a4854b80-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A","level":"info","message":"auth send jwt","requestID":"990cdb4fed26dad7b3c090a3aac61409"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"990cdb4fed26dad7b3c090a3aac61409","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"990cdb4fed26dad7b3c090a3aac61409"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a4854b80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/signaling 200 10ms","method":"POST","requestID":"a4854b80-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706638,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"990cdb4fed26dad7b3c090a3aac61409","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"990cdb4fed26dad7b3c090a3aac61409","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a4872040-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a4874750-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.586926,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4872040-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a4872040-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.586407,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4874750-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a4874750-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.459681645Z"}]},"request_id":"ea9cb7d8-5417-4451-aca7-87356b90fd97","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.3953574} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"990cdb4fed26dad7b3c090a3aac61409","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.459681645Z"}]},"request_id":"ab76f28b-288c-4385-a017-b3a0978449bd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.398161} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"990cdb4fed26dad7b3c090a3aac61409"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a4872040-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/331b5258-0114-466a-828f-917326b191b1? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"990cdb4fed26dad7b3c090a3aac61409"} device-1 | {"level":"info","message":"GET /devices/331b5258-0114-466a-828f-917326b191b1? 200 17ms","method":"GET","requestID":"990cdb4fed26dad7b3c090a3aac61409","responseTime":17,"status":200,"url":"/devices/331b5258-0114-466a-828f-917326b191b1?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.510590314Z"}]},"request_id":"03f482a2-8165-4c29-bceb-f2d2d2cdddff","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.4009852} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a4874750-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a4872040-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A","level":"info","message":"auth send jwt","requestID":"c4387baa25ad6e519225f69f48224cdd"} device-1 | {"level":"info","message":"GET /devices/331b5258-0114-466a-828f-917326b191b1? 200 17ms","method":"GET","requestID":"a4872040-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/331b5258-0114-466a-828f-917326b191b1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a4874750-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c4387baa25ad6e519225f69f48224cdd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b? 200 17ms","method":"GET","requestID":"a4874750-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c4387baa25ad6e519225f69f48224cdd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Building connection plan","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"557ae648-e096-464c-b879-e50e4c746cde"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"440bc197-964e-4637-af6a-08414db43630"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/file","uuid":"c74a03d1-5ed3-44fd-89ac-ecad080e4fa5"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"a48a5490-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"a48a5490-7ad0-11ef-a772-4d02dbd671ac"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74837,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"a48a5490-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4387baa25ad6e519225f69f48224cdd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c4387baa25ad6e519225f69f48224cdd","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645?id=62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb","ws://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645?id=21c7f508-71ec-49df-ac44-503d4814f6a2"]},"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/331b5258-0114-466a-828f-917326b191b1"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a48af0d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:39.510590314Z"}]},"request_id":"90b4ff23-fc0b-4dcd-8fc6-fc0fad73e127","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.4142756} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c4387baa25ad6e519225f69f48224cdd","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.700897,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a48af0d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a48af0d0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c4387baa25ad6e519225f69f48224cdd"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4387baa25ad6e519225f69f48224cdd"} device-1 | {"level":"info","message":"GET /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b? 200 14ms","method":"GET","requestID":"c4387baa25ad6e519225f69f48224cdd","responseTime":14,"status":200,"url":"/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"cd670061-ea72-497a-aa52-53ff13f06b0b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.4251926} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12145757-a5ed-4fc6-a400-24a130c54d77","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.4253688} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a48af0d0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a48af0d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a48af0d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494'","requestID":"a48af0d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494'","requestID":"a48af0d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a48af0d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"a48af0d0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"a48af0d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b6a72176-c6db-43b7-bcf7-17fb5573b494","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"a49020f0-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4f0e135f20453477d8d7295ec9c88d75","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"21c7f508-71ec-49df-ac44-503d4814f6a2\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\"","requestID":"a49020f0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"a49020f0-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4f0e135f20453477d8d7295ec9c88d75","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"a4904800-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\"","requestID":"a4904800-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"a4904800-7ad0-11ef-a772-4d02dbd671ac"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/331b5258-0114-466a-828f-917326b191b1"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494"}}},"level":"info","message":"received a callback","requestID":"4f0e135f20453477d8d7295ec9c88d75"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} device-1 | {"data":{"peerconnection":"b6a72176-c6db-43b7-bcf7-17fb5573b494","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 14ms","method":"POST","requestID":"4f0e135f20453477d8d7295ec9c88d75","responseTime":14,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"4f0e135f20453477d8d7295ec9c88d75"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} device-1 | {"data":{"peerconnection":"b6a72176-c6db-43b7-bcf7-17fb5573b494","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ad3d00f02cfea7c7eab337e1d5880a98"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a4955110-7ad0-11ef-9247-9909de679d1e"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76190213-89b5-4f45-ad42-949a28aff241","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.4863784} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.477417,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b6a72176-c6db-43b7-bcf7-17fb5573b494","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4955110-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a4955110-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7d1a683172211ce14edd8979578c492e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7d1a683172211ce14edd8979578c492e","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/331b5258-0114-466a-828f-917326b191b1"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494"}}},"level":"info","message":"received a callback","requestID":"7d1a683172211ce14edd8979578c492e"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a4955110-7ad0-11ef-9247-9909de679d1e"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} device-1 | {"level":"info","message":"POST /devices/331b5258-0114-466a-828f-917326b191b1/signaling 200 17ms","method":"POST","requestID":"a4955110-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/331b5258-0114-466a-828f-917326b191b1/signaling"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a4981030-7ad0-11ef-9247-9909de679d1e"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a4985e50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb6a72176-c6db-43b7-bcf7-17fb5573b494","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47fd45ee-d20e-4c40-a587-699f00acd1d0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.504476} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a975591-b649-46a3-894a-7248d77b40f5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.5051103} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.204763,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4981030-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494","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":"a4981030-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.168173,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4985e50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a4985e50-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a4981030-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494 200 10ms","method":"GET","requestID":"a4981030-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a4985e50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/signaling 200 9ms","method":"POST","requestID":"a4985e50-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/signaling"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"7d1a683172211ce14edd8979578c492e","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"7d1a683172211ce14edd8979578c492e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a49c07d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83b08df1-53b8-4027-8144-21f657fdf5af","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.52992} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.135892,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a49c07d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a49c07d0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a49c07d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/signaling 200 8ms","method":"POST","requestID":"a49c07d0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a49d8e70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6e367f2-65e3-4b42-af13-31763e9802da","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.5394652} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.067601,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a49d8e70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a49d8e70-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a49d8e70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/331b5258-0114-466a-828f-917326b191b1/signaling 200 8ms","method":"POST","requestID":"a49d8e70-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/331b5258-0114-466a-828f-917326b191b1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A","level":"info","message":"auth send jwt","requestID":"ed3b09013f15b1b56bd86a1269195eae"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ed3b09013f15b1b56bd86a1269195eae","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6c097125-6251-48a1-ba47-8b5b62b077fe","requestID":"ed3b09013f15b1b56bd86a1269195eae"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.531236,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ed3b09013f15b1b56bd86a1269195eae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ed3b09013f15b1b56bd86a1269195eae","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/6c097125-6251-48a1-ba47-8b5b62b077fe","requestID":"ed3b09013f15b1b56bd86a1269195eae"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6c097125-6251-48a1-ba47-8b5b62b077fe HTTP/1.1","status": "200","body_bytes_sent":"859","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed3b09013f15b1b56bd86a1269195eae"} experiment-1 | {"level":"info","message":"GET /experiments/6c097125-6251-48a1-ba47-8b5b62b077fe 200 17ms","method":"GET","requestID":"ed3b09013f15b1b56bd86a1269195eae","responseTime":17,"status":200,"url":"/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A","level":"info","message":"auth send jwt","requestID":"6c81cf7bcd63e3872d0b49c2362bbdf9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6c81cf7bcd63e3872d0b49c2362bbdf9","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6c097125-6251-48a1-ba47-8b5b62b077fe","requestID":"6c81cf7bcd63e3872d0b49c2362bbdf9"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.377894,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6c81cf7bcd63e3872d0b49c2362bbdf9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6c81cf7bcd63e3872d0b49c2362bbdf9","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Attempting to finish experiment","requestID":"6c81cf7bcd63e3872d0b49c2362bbdf9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a4b55c30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.321296,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4b55c30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a4b55c30-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/160d288c-d7e6-4092-ab13-40a72b445645?id=62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb HTTP/1.1","status": "101","body_bytes_sent":"1203023","request_time":"0.262","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"2f43e292fca5ad107a266713f465a36c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/160d288c-d7e6-4092-ab13-40a72b445645?id=21c7f508-71ec-49df-ac44-503d4814f6a2 HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.262","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"326f0ff1e324c822fe759033a61707f5"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"62e3bb7c-83dd-40ca-ab41-fbf26e0e1fdb\" from room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"21c7f508-71ec-49df-ac44-503d4814f6a2\" in room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"21c7f508-71ec-49df-ac44-503d4814f6a2\" from room \"http://localhost/rooms/160d288c-d7e6-4092-ab13-40a72b445645\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b6a72176-c6db-43b7-bcf7-17fb5573b494","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb6a72176-c6db-43b7-bcf7-17fb5573b494': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb6a72176-c6db-43b7-bcf7-17fb5573b494","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"15d78974-3a96-4c09-bd93-bff8446eb84c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.7120454} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7d12de4a9c3792bdf3851dcf88716463","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a453a1f9-2e6e-4a3e-a64e-f71620418777","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.712367} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7d12de4a9c3792bdf3851dcf88716463","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"04068d46bae2d628c20f11bec154c032","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/331b5258-0114-466a-828f-917326b191b1"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494"}}},"level":"info","message":"received a callback","requestID":"7d12de4a9c3792bdf3851dcf88716463"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"04068d46bae2d628c20f11bec154c032","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"a4b55c30-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b"},{"config":{"services":[{"remoteServiceDescription":{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["websocket"]},"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/331b5258-0114-466a-828f-917326b191b1"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494"}}},"level":"info","message":"received a callback","requestID":"04068d46bae2d628c20f11bec154c032"} device-1 | {"data":{"peerconnection":"b6a72176-c6db-43b7-bcf7-17fb5573b494","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a4b55c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494 204 44ms","method":"DELETE","requestID":"a4b55c30-7ad0-11ef-9247-9909de679d1e","responseTime":44,"status":204,"url":"/peerconnections/b6a72176-c6db-43b7-bcf7-17fb5573b494"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"},"level":"info","message":"Successfully finished experiment","requestID":"6c81cf7bcd63e3872d0b49c2362bbdf9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a4bf9560-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1755a3a4-6946-4c98-b0d5-a07435ad0b7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e09d8f9d-5b02-41ae-912a-99640b1b2579","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.7659192} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.525826,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4bf9560-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b","object_type":"device","rebac_allow":false,"scope_allow":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":"a4bf9560-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a4bf9560-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/signaling 200 13ms","method":"POST","requestID":"a4bf9560-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a4c20660-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c097125-6251-48a1-ba47-8b5b62b077fe': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c097125-6251-48a1-ba47-8b5b62b077fe","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"220daf46-fb6f-4263-a0c9-eebc43a05ba0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.7756941} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd469c80-43bd-47a4-b103-b32d95a34717","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.7759583} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"6c81cf7bcd63e3872d0b49c2362bbdf9","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F331b5258-0114-466a-828f-917326b191b1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27460e7d-bd2a-48b3-8500-9fc254e3f794","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.7794588} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.897319,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4c20660-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/331b5258-0114-466a-828f-917326b191b1","object_type":"device","rebac_allow":false,"scope_allow":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":"a4c20660-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a4c20660-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/331b5258-0114-466a-828f-917326b191b1/signaling 200 11ms","method":"POST","requestID":"a4c20660-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/331b5258-0114-466a-828f-917326b191b1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6c097125-6251-48a1-ba47-8b5b62b077fe","requestID":"6c81cf7bcd63e3872d0b49c2362bbdf9"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6c097125-6251-48a1-ba47-8b5b62b077fe HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c81cf7bcd63e3872d0b49c2362bbdf9"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1437","request_time":"0.692","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"d66a1c5e1c4022b47a143ee8cb525ce0"} experiment-1 | {"level":"info","message":"DELETE /experiments/6c097125-6251-48a1-ba47-8b5b62b077fe 204 162ms","method":"DELETE","requestID":"6c81cf7bcd63e3872d0b49c2362bbdf9","responseTime":162,"status":204,"url":"/experiments/6c097125-6251-48a1-ba47-8b5b62b077fe"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1438","request_time":"0.680","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"88472af655f9f041ba35832593cf3ccf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"7d12de4a9c3792bdf3851dcf88716463","responseTime":124,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"04068d46bae2d628c20f11bec154c032","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"7d12de4a9c3792bdf3851dcf88716463"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"04068d46bae2d628c20f11bec154c032"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A","level":"info","message":"auth send jwt","requestID":"edf6412ec807560ba053a929ae35bcec"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1755a3a4-6946-4c98-b0d5-a07435ad0b7b' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"edf6412ec807560ba053a929ae35bcec","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"edf6412ec807560ba053a929ae35bcec"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.775478,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"edf6412ec807560ba053a929ae35bcec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"edf6412ec807560ba053a929ae35bcec","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/331b5258-0114-466a-828f-917326b191b1' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"276f27f4-f037-4f56-8d8f-2668b8776858","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.8663309} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"edf6412ec807560ba053a929ae35bcec","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6000d99d-5588-449d-af07-4d2f9daed418","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.8733573} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"edf6412ec807560ba053a929ae35bcec","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"f18083a2-aeaa-4ca1-8303-fafa241c3ed7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.8844602} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b0de84b-13ef-4d7a-b192-95334cd653de","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.8845484} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"edf6412ec807560ba053a929ae35bcec","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.884438525Z"}]},"request_id":"30e91c0b-f521-4a4e-8e25-d23f1835201d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.8897314} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"edf6412ec807560ba053a929ae35bcec","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"edf6412ec807560ba053a929ae35bcec"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"edf6412ec807560ba053a929ae35bcec"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"edf6412ec807560ba053a929ae35bcec","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A","level":"info","message":"auth send jwt","requestID":"7c73fa2a0eb48032b16fc7944dd0da0b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7c73fa2a0eb48032b16fc7944dd0da0b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7c73fa2a0eb48032b16fc7944dd0da0b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.814702,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7c73fa2a0eb48032b16fc7944dd0da0b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222200,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMH0.ULf1rPwx76UJL-_lxN2zIhwE_rP1ZjhGanhWBhMF0-A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7c73fa2a0eb48032b16fc7944dd0da0b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8ecbf00d-5d92-4c8b-b944-1a66c1115692","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.9147596} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7c73fa2a0eb48032b16fc7944dd0da0b","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5db6eb8-5e28-496c-b7de-7b1c74550861","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.920436} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7c73fa2a0eb48032b16fc7944dd0da0b","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"b1848f0d-190e-4eb7-af85-f900140542fe","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.9370267} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d821f71b-d177-4765-a2a0-9f9a6c66a43b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.937252} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"7c73fa2a0eb48032b16fc7944dd0da0b","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.936991959Z"}]},"request_id":"f5bb5ca4-244b-473d-ae46-e6945033fa22","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222200.942859} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"7c73fa2a0eb48032b16fc7944dd0da0b","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7c73fa2a0eb48032b16fc7944dd0da0b"} gateway-1 | {"time_local":"24/Sep/2024:23:56:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c73fa2a0eb48032b16fc7944dd0da0b"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"7c73fa2a0eb48032b16fc7944dd0da0b","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e27419cbb65c5128e379a6da287bdb36","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e27419cbb65c5128e379a6da287bdb36","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7587bf3f-b9f0-4830-8587-31eae823d83e/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":"e27419cbb65c5128e379a6da287bdb36"} device-1 | {"level":"info","message":"OPTIONS /devices/7587bf3f-b9f0-4830-8587-31eae823d83e/websocket 200 1ms","method":"OPTIONS","requestID":"e27419cbb65c5128e379a6da287bdb36","responseTime":1,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMn0.0wFBTI-oiAyhKf5x7IbRFcg6ufxX_D1WJ-pIB0kePPQ","level":"info","message":"auth send jwt","requestID":"b7ac090935113c4a51a789a690027351"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b7ac090935113c4a51a789a690027351","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b7ac090935113c4a51a789a690027351"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:42Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.446256,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:42Z"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2592c2add2db4cdf6db2d79d32961f64","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b7ac090935113c4a51a789a690027351","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222202,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMn0.0wFBTI-oiAyhKf5x7IbRFcg6ufxX_D1WJ-pIB0kePPQ"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2592c2add2db4cdf6db2d79d32961f64","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b7ac090935113c4a51a789a690027351","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.006","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2592c2add2db4cdf6db2d79d32961f64"} device-1 | {"level":"info","message":"OPTIONS /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/websocket 200 1ms","method":"OPTIONS","requestID":"2592c2add2db4cdf6db2d79d32961f64","responseTime":1,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMn0.0wFBTI-oiAyhKf5x7IbRFcg6ufxX_D1WJ-pIB0kePPQ","level":"info","message":"auth send jwt","requestID":"69c2e5cc622940974467c123955191a7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"69c2e5cc622940974467c123955191a7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"69c2e5cc622940974467c123955191a7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:42Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b7ac090935113c4a51a789a690027351"} gateway-1 | {"time_local":"24/Sep/2024:23:56:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7587bf3f-b9f0-4830-8587-31eae823d83e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b7ac090935113c4a51a789a690027351"} device-1 | {"level":"info","message":"POST /devices/7587bf3f-b9f0-4830-8587-31eae823d83e/websocket 200 27ms","method":"POST","requestID":"b7ac090935113c4a51a789a690027351","responseTime":27,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e/websocket"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.580331,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"69c2e5cc622940974467c123955191a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222202,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwMn0.0wFBTI-oiAyhKf5x7IbRFcg6ufxX_D1WJ-pIB0kePPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"69c2e5cc622940974467c123955191a7","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"69c2e5cc622940974467c123955191a7"} gateway-1 | {"time_local":"24/Sep/2024:23:56:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/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":"69c2e5cc622940974467c123955191a7"} device-1 | {"level":"info","message":"POST /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/websocket 200 22ms","method":"POST","requestID":"69c2e5cc622940974467c123955191a7","responseTime":22,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f2fda8da9c92435f5160591721e5453e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f2fda8da9c92435f5160591721e5453e","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7587bf3f-b9f0-4830-8587-31eae823d83e? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"f2fda8da9c92435f5160591721e5453e"} device-1 | {"level":"info","message":"OPTIONS /devices/7587bf3f-b9f0-4830-8587-31eae823d83e? 200 1ms","method":"OPTIONS","requestID":"f2fda8da9c92435f5160591721e5453e","responseTime":1,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos","level":"info","message":"auth send jwt","requestID":"062d17a05a472be9e168d18cebef62ba"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"062d17a05a472be9e168d18cebef62ba","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"062d17a05a472be9e168d18cebef62ba"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4de8b0703f323d9d83e99853a45c310b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4de8b0703f323d9d83e99853a45c310b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"4de8b0703f323d9d83e99853a45c310b"} device-1 | {"level":"info","message":"OPTIONS /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83? 200 0ms","method":"OPTIONS","requestID":"4de8b0703f323d9d83e99853a45c310b","responseTime":0,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.254624,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"062d17a05a472be9e168d18cebef62ba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"062d17a05a472be9e168d18cebef62ba","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos","level":"info","message":"auth send jwt","requestID":"4da131b2f573190098105a24514ec2c6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4da131b2f573190098105a24514ec2c6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4da131b2f573190098105a24514ec2c6"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.884438525Z"}]},"request_id":"e23ee882-0941-4db2-a06f-de9e0d47b7ba","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.0161915} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"062d17a05a472be9e168d18cebef62ba","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.330691,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4da131b2f573190098105a24514ec2c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4da131b2f573190098105a24514ec2c6","responseTime":5,"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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"24a1beea-159c-42f4-b173-98770bec3f5e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.0239923} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"062d17a05a472be9e168d18cebef62ba","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.936991959Z"}]},"request_id":"3a196621-f197-45b6-ad1e-ce5067bc2cf2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.0282907} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4da131b2f573190098105a24514ec2c6","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"988990ab-de53-4155-86d0-1bd18ce3bdfa","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.0343907} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"4da131b2f573190098105a24514ec2c6","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.884438525Z"}]},"request_id":"a90d1e11-63b2-4f09-abd7-2f5fc84e4bef","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.04251} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"062d17a05a472be9e168d18cebef62ba","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"062d17a05a472be9e168d18cebef62ba"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7587bf3f-b9f0-4830-8587-31eae823d83e? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.049","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"062d17a05a472be9e168d18cebef62ba"} device-1 | {"level":"info","message":"PATCH /devices/7587bf3f-b9f0-4830-8587-31eae823d83e? 200 42ms","method":"PATCH","requestID":"062d17a05a472be9e168d18cebef62ba","responseTime":42,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.936991959Z"}]},"request_id":"3c79069c-9074-46dc-a5d7-334aeeba4a5b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.054248} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4da131b2f573190098105a24514ec2c6","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4da131b2f573190098105a24514ec2c6"} device-1 | {"level":"info","message":"PATCH /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83? 200 43ms","method":"PATCH","requestID":"4da131b2f573190098105a24514ec2c6","responseTime":43,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4da131b2f573190098105a24514ec2c6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos","level":"info","message":"auth send jwt","requestID":"ba27bf8332211e591a23344c9a0e9d2f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ba27bf8332211e591a23344c9a0e9d2f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ba27bf8332211e591a23344c9a0e9d2f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.860972,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ba27bf8332211e591a23344c9a0e9d2f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ba27bf8332211e591a23344c9a0e9d2f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.884438525Z"}]},"request_id":"fb713a26-1d15-42a7-b0b9-d7e8003940e6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.078992} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ba27bf8332211e591a23344c9a0e9d2f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ba27bf8332211e591a23344c9a0e9d2f"} device-1 | {"level":"info","message":"GET /devices/7587bf3f-b9f0-4830-8587-31eae823d83e? 200 15ms","method":"GET","requestID":"ba27bf8332211e591a23344c9a0e9d2f","responseTime":15,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7587bf3f-b9f0-4830-8587-31eae823d83e? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba27bf8332211e591a23344c9a0e9d2f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos","level":"info","message":"auth send jwt","requestID":"b28bc9d887cb45f1c85ad531329f7b7f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b28bc9d887cb45f1c85ad531329f7b7f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b28bc9d887cb45f1c85ad531329f7b7f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.405604,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b28bc9d887cb45f1c85ad531329f7b7f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b28bc9d887cb45f1c85ad531329f7b7f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.936991959Z"}]},"request_id":"b1818c33-5043-4538-becd-1243def2d27a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.102799} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b28bc9d887cb45f1c85ad531329f7b7f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b28bc9d887cb45f1c85ad531329f7b7f"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b28bc9d887cb45f1c85ad531329f7b7f"} device-1 | {"level":"info","message":"GET /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83? 200 16ms","method":"GET","requestID":"b28bc9d887cb45f1c85ad531329f7b7f","responseTime":16,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos","level":"info","message":"auth send jwt","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.862958,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d3cb9404be9ea3133c9e56a9d9e6e371","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Attempting to run experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Attempting to book experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Successfully booked experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a62d5630-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a62d7d40-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.114781,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a62d5630-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a62d5630-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690347,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a62d7d40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a62d7d40-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.884438525Z"}]},"request_id":"8c71bb22-48d1-4d7b-8c60-a95cd1405bc8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.1650186} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a62d5630-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.936991959Z"}]},"request_id":"0d15b231-437f-4d43-8d12-f8b2e0d8fece","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.166591} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a62d7d40-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a62d5630-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/7587bf3f-b9f0-4830-8587-31eae823d83e? 200 17ms","method":"GET","requestID":"a62d5630-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a62d7d40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83? 200 17ms","method":"GET","requestID":"a62d7d40-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Setting up experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Successfully set up experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a6380490-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a6382ba0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a63879c0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Successfully running experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.17709,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a6380490-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"a6380490-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.469887,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:49276","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a6382ba0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"a6382ba0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49276","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.917753,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb336b15-f06a-4ca4-b4ea-2faec39179f0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.237181} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a63879c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","object_type":"device","rebac_allow":false,"scope_allow":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":"a63879c0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.884438525Z"}]},"request_id":"5c5be499-561d-491d-8030-195325cad01f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.2464936} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"a6380490-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.936991959Z"}]},"request_id":"423cc4cb-0e63-4383-ba82-121da82fcdd7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.2500527} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a6382ba0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a63879c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/7587bf3f-b9f0-4830-8587-31eae823d83e/signaling 200 24ms","method":"POST","requestID":"a63879c0-7ad0-11ef-9247-9909de679d1e","responseTime":24,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a6380490-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/7587bf3f-b9f0-4830-8587-31eae823d83e? 200 30ms","method":"GET","requestID":"a6380490-7ad0-11ef-9247-9909de679d1e","responseTime":30,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a63cbf80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a6382ba0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83? 200 32ms","method":"GET","requestID":"a6382ba0-7ad0-11ef-9247-9909de679d1e","responseTime":32,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a63d82d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92c2aabe-f4a8-4dce-817b-493cdbd2e4c5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.2620246} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.201409,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a63cbf80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","object_type":"device","rebac_allow":false,"scope_allow":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":"a63cbf80-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff88f838f-3c44-4db4-8145-7362bc78ea74#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff88f838f-3c44-4db4-8145-7362bc78ea74","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"92a5dc9f-a7b9-4ddd-9873-d0c5394a45c2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.2643871} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c6f9cc8-7f39-4a3e-b08e-97ca8df920fd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.2646768} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a63cbf80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/signaling 200 13ms","method":"POST","requestID":"a63cbf80-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371","responseTime":31,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8635cf03-e3a6-473f-8efc-005af3f72c96","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.2708316} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.957374,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a63d82d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","object_type":"device","rebac_allow":false,"scope_allow":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":"a63d82d0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a63d82d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/7587bf3f-b9f0-4830-8587-31eae823d83e/signaling 200 15ms","method":"POST","requestID":"a63d82d0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1288","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} experiment-1 | {"level":"info","message":"POST /experiments? 201 163ms","method":"POST","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371","responseTime":163,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6406900-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos","level":"info","message":"auth send jwt","requestID":"0a3469071e85344196e8ab820a8e3fa0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0a3469071e85344196e8ab820a8e3fa0","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0a3469071e85344196e8ab820a8e3fa0"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ae46a0a-3f24-4c41-8551-738b4cd71c57","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.284948} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.738131,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a6406900-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a6406900-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.636077,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0a3469071e85344196e8ab820a8e3fa0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0a3469071e85344196e8ab820a8e3fa0","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6406900-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/signaling 200 10ms","method":"POST","requestID":"a6406900-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.884438525Z"}]},"request_id":"6e9a3293-d98c-43be-b6ad-30df4930a806","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.292291} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a6423dc0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0a3469071e85344196e8ab820a8e3fa0","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a6428be0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656597,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0a3469071e85344196e8ab820a8e3fa0"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7587bf3f-b9f0-4830-8587-31eae823d83e? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a3469071e85344196e8ab820a8e3fa0"} device-1 | {"level":"info","message":"GET /devices/7587bf3f-b9f0-4830-8587-31eae823d83e? 200 16ms","method":"GET","requestID":"0a3469071e85344196e8ab820a8e3fa0","responseTime":16,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a6423dc0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a6423dc0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626204,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a6428be0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a6428be0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos","level":"info","message":"auth send jwt","requestID":"2df8141f9c4f3276e97dcb2dc0d1de8a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2df8141f9c4f3276e97dcb2dc0d1de8a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2df8141f9c4f3276e97dcb2dc0d1de8a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.884438525Z"}]},"request_id":"ba31c0f5-0bf5-4667-9d41-b88787a9ada3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.303186} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a6423dc0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.936991959Z"}]},"request_id":"afcbdb2c-fcd1-466d-9d66-b26443328fc6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.3043473} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a6428be0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786302,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2df8141f9c4f3276e97dcb2dc0d1de8a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a6423dc0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2df8141f9c4f3276e97dcb2dc0d1de8a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/7587bf3f-b9f0-4830-8587-31eae823d83e? 200 16ms","method":"GET","requestID":"a6423dc0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a6428be0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83? 200 15ms","method":"GET","requestID":"a6428be0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Building connection plan","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} 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":"39bee5d2-bab2-478f-8429-0454c3cf57e6"},{"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":"d242a558-4ca7-45a7-af88-d1a359478f85"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"6c28df03-1154-4182-8f39-bd70a7b8b050"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a64523f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:40.936991959Z"}]},"request_id":"b91c5c60-3a3e-49c9-ad31-6b36c76c9839","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.3128877} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2df8141f9c4f3276e97dcb2dc0d1de8a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.642281,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a64523f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a64523f0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2df8141f9c4f3276e97dcb2dc0d1de8a"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2df8141f9c4f3276e97dcb2dc0d1de8a"} device-1 | {"level":"info","message":"GET /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83? 200 15ms","method":"GET","requestID":"2df8141f9c4f3276e97dcb2dc0d1de8a","responseTime":15,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"ba4d02b7-0d9a-4bb4-8dbd-460b7702eea7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.323074} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42fe2899-6da9-4b9b-8a33-faa7d07d8e30","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.3232539} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a64523f0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a64523f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a64523f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226'","requestID":"a64523f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226'","requestID":"a64523f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a64523f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 24ms","method":"POST","requestID":"a64523f0-7ad0-11ef-9247-9909de679d1e","responseTime":24,"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":"a64523f0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d3cb9404be9ea3133c9e56a9d9e6e371"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a64cec20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f002871f-fda6-4fcb-9b13-64221d2f4209","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.365889} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.119993,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a64cec20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","object_type":"device","rebac_allow":false,"scope_allow":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":"a64cec20-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a64cec20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/7587bf3f-b9f0-4830-8587-31eae823d83e/signaling 200 7ms","method":"POST","requestID":"a64cec20-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a64e4bb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19e77a87-d225-4ddc-aef0-014ebd68ebf6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.3768532} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.916373,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a64e4bb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","object_type":"device","rebac_allow":false,"scope_allow":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":"a64e4bb0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a64e4bb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/signaling 200 9ms","method":"POST","requestID":"a64e4bb0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/signaling"} device-1 | {"device":"7587bf3f-b9f0-4830-8587-31eae823d83e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7587bf3f-b9f0-4830-8587-31eae823d83e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"82b949df-1dbe-433c-a399-85ecc1c8ec83","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"82b949df-1dbe-433c-a399-85ecc1c8ec83","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 1172862093048231439 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:PJUZ\r\na=ice-pwd:7rT3FApUx0hjk+FtkweyHBMf\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FD:72:E9:C4:27:8B:5F:0C:A4:E2:96:C2:01:20:87:F2:20:DC:04:3A:05:13:F9:0E:F4:57:73:52:65:B4:DA:C3\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7587bf3f-b9f0-4830-8587-31eae823d83e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 3328724100989007841 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:lTay\r\na=ice-pwd:YTKEd2LZtaVTazBjVEemBwSv\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9C:27:D5:D5:9B:BE:40:37:05:5E:8B:A4:62:A4:88:F9:68:85:59:CC:6F:95:B9:B3:69:C4:7E:70:52:85:73:2F\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"82b949df-1dbe-433c-a399-85ecc1c8ec83","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3453728183 1 udp 2113937151 b9baa409-07aa-4d5c-b979-d47fa78156cf.local 54881 typ host generation 0 ufrag lTay network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"82b949df-1dbe-433c-a399-85ecc1c8ec83","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1240915912 1 udp 1677729535 141.24.211.56 54881 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag lTay network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"82b949df-1dbe-433c-a399-85ecc1c8ec83","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/82b949df-1dbe-433c-a399-85ecc1c8ec83'"} device-1 | {"content":{"candidate":"candidate:2643498574 1 udp 2113937151 5f856429-6d41-4dbe-a34c-a66fec4efb72.local 58550 typ host generation 0 ufrag PJUZ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7587bf3f-b9f0-4830-8587-31eae823d83e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:431881265 1 udp 1677729535 141.24.211.56 58550 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag PJUZ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7587bf3f-b9f0-4830-8587-31eae823d83e","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/7587bf3f-b9f0-4830-8587-31eae823d83e'"} device-1 | {"device":"7587bf3f-b9f0-4830-8587-31eae823d83e","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/de86484c-228e-4e2a-a3c8-e451a8feb226' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"de86484c-228e-4e2a-a3c8-e451a8feb226","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"82b949df-1dbe-433c-a399-85ecc1c8ec83","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"82b949df-1dbe-433c-a399-85ecc1c8ec83","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"7587bf3f-b9f0-4830-8587-31eae823d83e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"06e3ab04dc60c6fce51a240baa2f2f50","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"06e3ab04dc60c6fce51a240baa2f2f50","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226"}}},"level":"info","message":"received a callback","requestID":"06e3ab04dc60c6fce51a240baa2f2f50"} device-1 | {"device":"7587bf3f-b9f0-4830-8587-31eae823d83e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"06e3ab04dc60c6fce51a240baa2f2f50","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"06e3ab04dc60c6fce51a240baa2f2f50"} device-1 | {"device":"82b949df-1dbe-433c-a399-85ecc1c8ec83","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"82b949df-1dbe-433c-a399-85ecc1c8ec83","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"de86484c-228e-4e2a-a3c8-e451a8feb226","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"de86484c-228e-4e2a-a3c8-e451a8feb226","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/de86484c-228e-4e2a-a3c8-e451a8feb226' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"de86484c-228e-4e2a-a3c8-e451a8feb226","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"df6b9ee61877ca00b08c5e81858e46a7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"df6b9ee61877ca00b08c5e81858e46a7","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226"}}},"level":"info","message":"received a callback","requestID":"df6b9ee61877ca00b08c5e81858e46a7"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a65d3fd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fde86484c-228e-4e2a-a3c8-e451a8feb226","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55b98a7c-ec19-4f99-8335-a77dfadfeea9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.4738793} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.068907,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a65d3fd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226","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":"a65d3fd0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a65d3fd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226 200 9ms","method":"GET","requestID":"a65d3fd0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"df6b9ee61877ca00b08c5e81858e46a7","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"df6b9ee61877ca00b08c5e81858e46a7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a661fac0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23e1e2a9-d0e7-4008-9664-d92839bd0e11","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.5044386} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.14693,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a661fac0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a661fac0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a661fac0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/signaling 200 8ms","method":"POST","requestID":"a661fac0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a663a870-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74ec5831-c8ea-4f91-af27-7366a5508f97","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.5153582} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.956155,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a663a870-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a663a870-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a663a870-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/7587bf3f-b9f0-4830-8587-31eae823d83e/signaling 200 8ms","method":"POST","requestID":"a663a870-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos","level":"info","message":"auth send jwt","requestID":"dcd78505860dbe78228419d2534a9905"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dcd78505860dbe78228419d2534a9905","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f88f838f-3c44-4db4-8145-7362bc78ea74","requestID":"dcd78505860dbe78228419d2534a9905"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.723571,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dcd78505860dbe78228419d2534a9905","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dcd78505860dbe78228419d2534a9905","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f88f838f-3c44-4db4-8145-7362bc78ea74","requestID":"dcd78505860dbe78228419d2534a9905"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f88f838f-3c44-4db4-8145-7362bc78ea74 HTTP/1.1","status": "200","body_bytes_sent":"1361","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dcd78505860dbe78228419d2534a9905"} experiment-1 | {"level":"info","message":"GET /experiments/f88f838f-3c44-4db4-8145-7362bc78ea74 200 9ms","method":"GET","requestID":"dcd78505860dbe78228419d2534a9905","responseTime":9,"status":200,"url":"/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos","level":"info","message":"auth send jwt","requestID":"5007e5482a6ee2dec94db80d495dc687"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5007e5482a6ee2dec94db80d495dc687","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f88f838f-3c44-4db4-8145-7362bc78ea74","requestID":"5007e5482a6ee2dec94db80d495dc687"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.710288,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5007e5482a6ee2dec94db80d495dc687","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5007e5482a6ee2dec94db80d495dc687","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Attempting to finish experiment","requestID":"5007e5482a6ee2dec94db80d495dc687"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a66ca920-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.079767,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a66ca920-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a66ca920-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226","device":"82b949df-1dbe-433c-a399-85ecc1c8ec83","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226","device":"7587bf3f-b9f0-4830-8587-31eae823d83e","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/de86484c-228e-4e2a-a3c8-e451a8feb226' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"de86484c-228e-4e2a-a3c8-e451a8feb226","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fde86484c-228e-4e2a-a3c8-e451a8feb226': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fde86484c-228e-4e2a-a3c8-e451a8feb226","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"fb864e6b-fad9-4626-8891-e47f2d9265c2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.587629} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70707e4f-ac8e-418b-a4ea-cfd94daba082","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.5879} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f3deb80a699b02fb34006a1f03d935d0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f3deb80a699b02fb34006a1f03d935d0","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"a66ca920-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fb5cd36cc8e66755677bd4820420dd7e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"fb5cd36cc8e66755677bd4820420dd7e","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226"}}},"level":"info","message":"received a callback","requestID":"f3deb80a699b02fb34006a1f03d935d0"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226"}}},"level":"info","message":"received a callback","requestID":"fb5cd36cc8e66755677bd4820420dd7e"} device-1 | {"data":{"peerconnection":"de86484c-228e-4e2a-a3c8-e451a8feb226","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a66ca920-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226 204 37ms","method":"DELETE","requestID":"a66ca920-7ad0-11ef-9247-9909de679d1e","responseTime":37,"status":204,"url":"/peerconnections/de86484c-228e-4e2a-a3c8-e451a8feb226"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"},"level":"info","message":"Successfully finished experiment","requestID":"5007e5482a6ee2dec94db80d495dc687"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6755bb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82b949df-1dbe-433c-a399-85ecc1c8ec83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9788f26-c157-423d-8c47-6ec00cde281c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.6321063} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.630347,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a6755bb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a6755bb0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6755bb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/signaling 200 10ms","method":"POST","requestID":"a6755bb0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff88f838f-3c44-4db4-8145-7362bc78ea74': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff88f838f-3c44-4db4-8145-7362bc78ea74","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"d9a40276-607b-4199-9a0b-0074bbe6f083","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.637569} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95a25de5-117e-4157-a465-fd96ecf4a0a3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.637953} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"5007e5482a6ee2dec94db80d495dc687","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6775780-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7587bf3f-b9f0-4830-8587-31eae823d83e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a483b077-3908-42fb-a652-d525ece0cd19","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.6453385} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.780418,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a6775780-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e","object_type":"device","rebac_allow":false,"scope_allow":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":"a6775780-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6775780-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/7587bf3f-b9f0-4830-8587-31eae823d83e/signaling 200 10ms","method":"POST","requestID":"a6775780-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/7587bf3f-b9f0-4830-8587-31eae823d83e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f88f838f-3c44-4db4-8145-7362bc78ea74","requestID":"5007e5482a6ee2dec94db80d495dc687"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f88f838f-3c44-4db4-8145-7362bc78ea74 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5007e5482a6ee2dec94db80d495dc687"} experiment-1 | {"level":"info","message":"DELETE /experiments/f88f838f-3c44-4db4-8145-7362bc78ea74 204 141ms","method":"DELETE","requestID":"5007e5482a6ee2dec94db80d495dc687","responseTime":141,"status":204,"url":"/experiments/f88f838f-3c44-4db4-8145-7362bc78ea74"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 112ms","method":"POST","requestID":"f3deb80a699b02fb34006a1f03d935d0","responseTime":112,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.115","http_referrer":"","http_user_agent":"node-fetch","requestID":"f3deb80a699b02fb34006a1f03d935d0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 112ms","method":"POST","requestID":"fb5cd36cc8e66755677bd4820420dd7e","responseTime":112,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.116","http_referrer":"","http_user_agent":"node-fetch","requestID":"fb5cd36cc8e66755677bd4820420dd7e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos","level":"info","message":"auth send jwt","requestID":"4cb86e4f0ed3f18d9dc0d0cb32374e4c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4cb86e4f0ed3f18d9dc0d0cb32374e4c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4cb86e4f0ed3f18d9dc0d0cb32374e4c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.856142,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4cb86e4f0ed3f18d9dc0d0cb32374e4c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4cb86e4f0ed3f18d9dc0d0cb32374e4c","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3317","request_time":"0.743","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e6b057224776fb3c09fd1fae15f399ad"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3320","request_time":"0.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":"3dd8b22f3f1d096ffc3243d2779e6c36"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/82b949df-1dbe-433c-a399-85ecc1c8ec83' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7587bf3f-b9f0-4830-8587-31eae823d83e' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0bda483b-81b3-40a2-b013-cae8b9da3794","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.7285154} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4cb86e4f0ed3f18d9dc0d0cb32374e4c","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19721e67-3e3b-4bf0-9622-3b5cf8e77e50","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.733389} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4cb86e4f0ed3f18d9dc0d0cb32374e4c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"9ba1a043-3c3c-4ef5-a463-943c3e28fcec","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.7442694} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9fb2cb41-b1ad-4632-832b-7c95ca3c8e0d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.7444382} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"4cb86e4f0ed3f18d9dc0d0cb32374e4c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.744248816Z"}]},"request_id":"0a97967c-5b3c-4534-b281-08c7c1a6914e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.7478726} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4cb86e4f0ed3f18d9dc0d0cb32374e4c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4cb86e4f0ed3f18d9dc0d0cb32374e4c"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"4cb86e4f0ed3f18d9dc0d0cb32374e4c","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4cb86e4f0ed3f18d9dc0d0cb32374e4c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos","level":"info","message":"auth send jwt","requestID":"bde0c5be2825347cc141e5d257999cc7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bde0c5be2825347cc141e5d257999cc7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bde0c5be2825347cc141e5d257999cc7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.720618,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bde0c5be2825347cc141e5d257999cc7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222203,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwM30.fkEt9065uHufNbmxTcBPCe2ZgNi8FA9KwsUKu5qfZos"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bde0c5be2825347cc141e5d257999cc7","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"45094998-44a6-4a59-b445-f7ae16977b2b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.773279} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bde0c5be2825347cc141e5d257999cc7","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d40fc34f-eff2-4d1a-8802-b41901083d32","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.7790763} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bde0c5be2825347cc141e5d257999cc7","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"54470c52-fc69-4ad1-9787-8979bd6c66bb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.788032} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3fa989b8-147f-44c3-8948-7f206586e0d1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.788225} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"bde0c5be2825347cc141e5d257999cc7","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.787999784Z"}]},"request_id":"090f94fb-ad2c-44e6-bf79-944e39b7a43b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222203.7961} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bde0c5be2825347cc141e5d257999cc7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bde0c5be2825347cc141e5d257999cc7"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"bde0c5be2825347cc141e5d257999cc7","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bde0c5be2825347cc141e5d257999cc7"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3d85f51c4f01083b0643c4828a73d1d4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"3d85f51c4f01083b0643c4828a73d1d4","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/81795ac3-3c15-4c83-b5a6-8852f6198411/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":"3d85f51c4f01083b0643c4828a73d1d4"} device-1 | {"level":"info","message":"OPTIONS /devices/81795ac3-3c15-4c83-b5a6-8852f6198411/websocket 200 1ms","method":"OPTIONS","requestID":"3d85f51c4f01083b0643c4828a73d1d4","responseTime":1,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a4dc8486fdd5bfd2c7658d05ee6b2593","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a4dc8486fdd5bfd2c7658d05ee6b2593","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/89848e80-e6c5-4704-8d9d-34eea74560db/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":"a4dc8486fdd5bfd2c7658d05ee6b2593"} device-1 | {"level":"info","message":"OPTIONS /devices/89848e80-e6c5-4704-8d9d-34eea74560db/websocket 200 1ms","method":"OPTIONS","requestID":"a4dc8486fdd5bfd2c7658d05ee6b2593","responseTime":1,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE","level":"info","message":"auth send jwt","requestID":"105ce959bf00ec299255d4c918b7c8cf"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"105ce959bf00ec299255d4c918b7c8cf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"105ce959bf00ec299255d4c918b7c8cf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE","level":"info","message":"auth send jwt","requestID":"83b9c833880b908cb96ffc9fef9e7e5d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"83b9c833880b908cb96ffc9fef9e7e5d","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"83b9c833880b908cb96ffc9fef9e7e5d"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.116933,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"105ce959bf00ec299255d4c918b7c8cf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"105ce959bf00ec299255d4c918b7c8cf","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.510844,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"83b9c833880b908cb96ffc9fef9e7e5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"83b9c833880b908cb96ffc9fef9e7e5d","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"105ce959bf00ec299255d4c918b7c8cf"} device-1 | {"level":"info","message":"POST /devices/81795ac3-3c15-4c83-b5a6-8852f6198411/websocket 200 24ms","method":"POST","requestID":"105ce959bf00ec299255d4c918b7c8cf","responseTime":24,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/81795ac3-3c15-4c83-b5a6-8852f6198411/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":"105ce959bf00ec299255d4c918b7c8cf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"83b9c833880b908cb96ffc9fef9e7e5d"} gateway-1 | {"time_local":"24/Sep/2024:23:56:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/89848e80-e6c5-4704-8d9d-34eea74560db/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"83b9c833880b908cb96ffc9fef9e7e5d"} device-1 | {"level":"info","message":"POST /devices/89848e80-e6c5-4704-8d9d-34eea74560db/websocket 200 31ms","method":"POST","requestID":"83b9c833880b908cb96ffc9fef9e7e5d","responseTime":31,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"58d4e01e52240af27bb5e015918a5307","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"58d4e01e52240af27bb5e015918a5307","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/81795ac3-3c15-4c83-b5a6-8852f6198411? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"58d4e01e52240af27bb5e015918a5307"} device-1 | {"level":"info","message":"OPTIONS /devices/81795ac3-3c15-4c83-b5a6-8852f6198411? 200 1ms","method":"OPTIONS","requestID":"58d4e01e52240af27bb5e015918a5307","responseTime":1,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE","level":"info","message":"auth send jwt","requestID":"390965229d7e948e14389b7cd657cfcf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"390965229d7e948e14389b7cd657cfcf","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"49ce9c5c4179d0ee8abe268a5ae12d8d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"390965229d7e948e14389b7cd657cfcf"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"49ce9c5c4179d0ee8abe268a5ae12d8d","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/89848e80-e6c5-4704-8d9d-34eea74560db? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"49ce9c5c4179d0ee8abe268a5ae12d8d"} device-1 | {"level":"info","message":"OPTIONS /devices/89848e80-e6c5-4704-8d9d-34eea74560db? 200 0ms","method":"OPTIONS","requestID":"49ce9c5c4179d0ee8abe268a5ae12d8d","responseTime":0,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.164366,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"390965229d7e948e14389b7cd657cfcf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"390965229d7e948e14389b7cd657cfcf","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE","level":"info","message":"auth send jwt","requestID":"c3a0bf7cb697ec538bf3c7e02e8068f1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c3a0bf7cb697ec538bf3c7e02e8068f1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c3a0bf7cb697ec538bf3c7e02e8068f1"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.787999784Z"}]},"request_id":"196cc629-a12a-43eb-bf02-4da8e0471e69","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222205.852527} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"390965229d7e948e14389b7cd657cfcf","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.220378,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c3a0bf7cb697ec538bf3c7e02e8068f1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c3a0bf7cb697ec538bf3c7e02e8068f1","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1f49c09-ae9d-43e7-9594-48a01a41ebb4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222205.8599424} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"390965229d7e948e14389b7cd657cfcf","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.744248816Z"}]},"request_id":"001f8bf1-2e74-477b-8931-47490c619a17","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222205.8636222} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c3a0bf7cb697ec538bf3c7e02e8068f1","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e929b2eb-a3ed-41dd-aa33-2eaecaa5d70f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222205.8693223} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c3a0bf7cb697ec538bf3c7e02e8068f1","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.787999784Z"}]},"request_id":"2a61e61b-34f3-48fa-80e7-1243c303bb7b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222205.8793032} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"390965229d7e948e14389b7cd657cfcf","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"390965229d7e948e14389b7cd657cfcf"} gateway-1 | {"time_local":"24/Sep/2024:23:56:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/81795ac3-3c15-4c83-b5a6-8852f6198411? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"390965229d7e948e14389b7cd657cfcf"} device-1 | {"level":"info","message":"PATCH /devices/81795ac3-3c15-4c83-b5a6-8852f6198411? 200 43ms","method":"PATCH","requestID":"390965229d7e948e14389b7cd657cfcf","responseTime":43,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.744248816Z"}]},"request_id":"5e9e8eb6-42b6-44d7-958a-10e422a9904a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222205.8916795} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c3a0bf7cb697ec538bf3c7e02e8068f1","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c3a0bf7cb697ec538bf3c7e02e8068f1"} device-1 | {"level":"info","message":"PATCH /devices/89848e80-e6c5-4704-8d9d-34eea74560db? 200 44ms","method":"PATCH","requestID":"c3a0bf7cb697ec538bf3c7e02e8068f1","responseTime":44,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/89848e80-e6c5-4704-8d9d-34eea74560db? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.050","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c3a0bf7cb697ec538bf3c7e02e8068f1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE","level":"info","message":"auth send jwt","requestID":"61e23165b9d3b0baa147283997b1eb81"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"61e23165b9d3b0baa147283997b1eb81","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"61e23165b9d3b0baa147283997b1eb81"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.398413,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"61e23165b9d3b0baa147283997b1eb81","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"61e23165b9d3b0baa147283997b1eb81","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.744248816Z"}]},"request_id":"313b6919-2eb1-4fae-b211-160540da97a1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222205.9199705} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"61e23165b9d3b0baa147283997b1eb81","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"61e23165b9d3b0baa147283997b1eb81"} gateway-1 | {"time_local":"24/Sep/2024:23:56:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/89848e80-e6c5-4704-8d9d-34eea74560db? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61e23165b9d3b0baa147283997b1eb81"} device-1 | {"level":"info","message":"GET /devices/89848e80-e6c5-4704-8d9d-34eea74560db? 200 17ms","method":"GET","requestID":"61e23165b9d3b0baa147283997b1eb81","responseTime":17,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE","level":"info","message":"auth send jwt","requestID":"5e701664f8ad55630d71373b560b3aab"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5e701664f8ad55630d71373b560b3aab","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e701664f8ad55630d71373b560b3aab"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.111202,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5e701664f8ad55630d71373b560b3aab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5e701664f8ad55630d71373b560b3aab","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.787999784Z"}]},"request_id":"cba50cc6-19d4-494f-bf80-b4283dc678f5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222205.9426432} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5e701664f8ad55630d71373b560b3aab","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e701664f8ad55630d71373b560b3aab"} device-1 | {"level":"info","message":"GET /devices/81795ac3-3c15-4c83-b5a6-8852f6198411? 200 15ms","method":"GET","requestID":"5e701664f8ad55630d71373b560b3aab","responseTime":15,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/81795ac3-3c15-4c83-b5a6-8852f6198411? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e701664f8ad55630d71373b560b3aab"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE","level":"info","message":"auth send jwt","requestID":"5688a94190f81ad0befa94f478a4979c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5688a94190f81ad0befa94f478a4979c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5688a94190f81ad0befa94f478a4979c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.169582,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5688a94190f81ad0befa94f478a4979c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5688a94190f81ad0befa94f478a4979c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Attempting to run experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Attempting to book experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Successfully booked experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7df4bf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7df9a10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623656,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7df4bf0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a7df4bf0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657247,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7df9a10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a7df9a10-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.744248816Z"}]},"request_id":"6a5789ff-f5b7-4ff0-8260-8ec09f0aa582","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.0089219} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a7df4bf0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.787999784Z"}]},"request_id":"ad8b2f19-9a62-4cb3-afb7-534de7d23f05","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.0097976} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a7df9a10-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a7df4bf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/89848e80-e6c5-4704-8d9d-34eea74560db? 200 17ms","method":"GET","requestID":"a7df4bf0-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a7df9a10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/81795ac3-3c15-4c83-b5a6-8852f6198411? 200 16ms","method":"GET","requestID":"a7df9a10-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Setting up experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Successfully set up experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7ea4870-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7ea9690-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Successfully running experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a7eae4b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768538,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7ea4870-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a7ea4870-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.594769,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49276","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7ea9690-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a7ea9690-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9dc70142-f501-42ec-8de5-6b560ca10cef","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.0824418} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.744248816Z"}]},"request_id":"5bb63c6a-68fc-4411-9769-f80c51dbb3bb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.0832615} authorization-1 | {"client_addr":"127.0.0.1:49276","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.971211,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7eae4b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","object_type":"device","rebac_allow":false,"scope_allow":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":"a7eae4b0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a7ea4870-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.787999784Z"}]},"request_id":"9acecbeb-e638-46a5-83bb-9421dedbca96","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.0844266} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a7ea9690-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a7ea4870-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/89848e80-e6c5-4704-8d9d-34eea74560db? 200 21ms","method":"GET","requestID":"a7ea4870-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a7eae4b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/89848e80-e6c5-4704-8d9d-34eea74560db/signaling 200 18ms","method":"POST","requestID":"a7eae4b0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a7ea9690-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/81795ac3-3c15-4c83-b5a6-8852f6198411? 200 21ms","method":"GET","requestID":"a7ea9690-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a7edf1f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a7ee4010-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc47e19e8-cea7-42f2-bf75-79a7375efce6#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc47e19e8-cea7-42f2-bf75-79a7375efce6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"3123986f-3f70-4db1-8363-f09008c5d126","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.0982} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe7699a8-4d3e-4e5d-974e-a55c2f5d297b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.0985382} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"118624f6-a6f1-4010-a2c2-49f20649902a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.1017334} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.048595,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"5688a94190f81ad0befa94f478a4979c","responseTime":25,"status":200,"url":"/relations/update"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7edf1f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","object_type":"device","rebac_allow":false,"scope_allow":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":"a7edf1f0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39d157dc-223f-4bdc-8d64-c66529a34e91","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.1039314} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.220177,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7ee4010-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a7ee4010-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a7edf1f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/81795ac3-3c15-4c83-b5a6-8852f6198411/signaling 200 12ms","method":"POST","requestID":"a7edf1f0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a7ee4010-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/89848e80-e6c5-4704-8d9d-34eea74560db/signaling 200 12ms","method":"POST","requestID":"a7ee4010-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5688a94190f81ad0befa94f478a4979c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1288","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5688a94190f81ad0befa94f478a4979c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 156ms","method":"POST","requestID":"5688a94190f81ad0befa94f478a4979c","responseTime":156,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a7f0b110-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ","level":"info","message":"auth send jwt","requestID":"b3e1e4e6eab2420f803e8627be9d83e0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b3e1e4e6eab2420f803e8627be9d83e0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b3e1e4e6eab2420f803e8627be9d83e0"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4dc1570-7e58-41a3-91ae-05c2a7e19609","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.1185431} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.444036,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7f0b110-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a7f0b110-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.740921,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a7f0b110-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/81795ac3-3c15-4c83-b5a6-8852f6198411/signaling 200 10ms","method":"POST","requestID":"a7f0b110-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b3e1e4e6eab2420f803e8627be9d83e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222206,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b3e1e4e6eab2420f803e8627be9d83e0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7f2ace0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7f2d3f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.744248816Z"}]},"request_id":"6e021489-7d79-4f81-aaf7-be53b563ebb0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.127822} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b3e1e4e6eab2420f803e8627be9d83e0","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.85273,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b3e1e4e6eab2420f803e8627be9d83e0"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7f2ace0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a7f2ace0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/89848e80-e6c5-4704-8d9d-34eea74560db? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3e1e4e6eab2420f803e8627be9d83e0"} device-1 | {"level":"info","message":"GET /devices/89848e80-e6c5-4704-8d9d-34eea74560db? 200 15ms","method":"GET","requestID":"b3e1e4e6eab2420f803e8627be9d83e0","responseTime":15,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db?"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724187,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7f2d3f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a7f2d3f0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ","level":"info","message":"auth send jwt","requestID":"fb696ad041eb4a1bb5dc81fe061394da"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fb696ad041eb4a1bb5dc81fe061394da","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.744248816Z"}]},"request_id":"9a0344c9-1bc6-481a-ac9c-34d62287fb1b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.136587} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb696ad041eb4a1bb5dc81fe061394da"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a7f2ace0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.787999784Z"}]},"request_id":"2ee1eefd-fef3-4867-8452-2cd3a831bfa9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.138335} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a7f2d3f0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.229567,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"fb696ad041eb4a1bb5dc81fe061394da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222206,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a7f2ace0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fb696ad041eb4a1bb5dc81fe061394da","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/89848e80-e6c5-4704-8d9d-34eea74560db? 200 18ms","method":"GET","requestID":"a7f2ace0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a7f2d3f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/81795ac3-3c15-4c83-b5a6-8852f6198411? 200 18ms","method":"GET","requestID":"a7f2d3f0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Building connection plan","requestID":"5688a94190f81ad0befa94f478a4979c"} 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":"f06df0d4-9ddb-4be1-9176-ca8379bd2372"},{"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":"fa0ab81c-b798-4f13-a274-131ff1202665"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"568a2925-523e-499d-bd55-f8aadeeb153e"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5688a94190f81ad0befa94f478a4979c"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5688a94190f81ad0befa94f478a4979c"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a7f60840-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:43.787999784Z"}]},"request_id":"edc8f1a0-9b2b-400e-9829-6b7d12382260","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.1503954} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"fb696ad041eb4a1bb5dc81fe061394da","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.811621,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7f60840-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222205,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNX0.KW-6R1V6bVtN_v5vrL74_Fy0DQ6RGoQ1xjVgwDipRkE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a7f60840-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb696ad041eb4a1bb5dc81fe061394da"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/81795ac3-3c15-4c83-b5a6-8852f6198411? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb696ad041eb4a1bb5dc81fe061394da"} device-1 | {"level":"info","message":"GET /devices/81795ac3-3c15-4c83-b5a6-8852f6198411? 200 19ms","method":"GET","requestID":"fb696ad041eb4a1bb5dc81fe061394da","responseTime":19,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"bf9ed488-031d-4173-9eb7-96454fa98e4d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.1634912} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5afeaa81-31c7-48e5-b5ba-e96245af5729","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.1636398} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a7f60840-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a7f60840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a7f60840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4'","requestID":"a7f60840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4'","requestID":"a7f60840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a7f60840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"a7f60840-7ad0-11ef-9247-9909de679d1e","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"a7f60840-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5688a94190f81ad0befa94f478a4979c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a7fee1e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"790ad4cd-242d-4a21-9cc4-99352f780dfd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.2107139} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.283512,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a7fee1e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a7fee1e0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a7fee1e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/89848e80-e6c5-4704-8d9d-34eea74560db/signaling 200 9ms","method":"POST","requestID":"a7fee1e0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a8008f90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"device":"89848e80-e6c5-4704-8d9d-34eea74560db","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"89848e80-e6c5-4704-8d9d-34eea74560db","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd7335a1-020f-4328-be51-ee86d95e7ddf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.2234478} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.214156,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a8008f90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","object_type":"device","rebac_allow":false,"scope_allow":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":"a8008f90-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"device":"81795ac3-3c15-4c83-b5a6-8852f6198411","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"81795ac3-3c15-4c83-b5a6-8852f6198411","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a8008f90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/81795ac3-3c15-4c83-b5a6-8852f6198411/signaling 200 13ms","method":"POST","requestID":"a8008f90-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 4013874116569357759 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:SXzF\r\na=ice-pwd:u6BKUkyC6D+qPvqA1JVieN7Q\r\na=ice-options:trickle\r\na=fingerprint:sha-256 DD:1D:E5:E8:04:50:DC:98:4E:CA:7A:78:47:64:3B:BA:35:F8:F9:AC:BE:FF:CF:19:CF:01:76:3E:33:DD:56:5C\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"89848e80-e6c5-4704-8d9d-34eea74560db","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 2561449341109352854 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:kAlh\r\na=ice-pwd:wBYt/YXAIjIf6Wtxs0cLqBj7\r\na=ice-options:trickle\r\na=fingerprint:sha-256 03:38:D5:76:48:CA:30:41:55:38:04:84:86:5F:0C:A4:CF:81:59:A7:82:11:1F:3B:B3:9A:4F:BC:EF:22:96:51\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"81795ac3-3c15-4c83-b5a6-8852f6198411","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:4187535886 1 udp 2113937151 35262756-d600-4c76-8b13-9026561218f0.local 55055 typ host generation 0 ufrag kAlh network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"81795ac3-3c15-4c83-b5a6-8852f6198411","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1790122781 1 udp 1677729535 141.24.211.56 55055 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag kAlh network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"81795ac3-3c15-4c83-b5a6-8852f6198411","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/81795ac3-3c15-4c83-b5a6-8852f6198411'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411'"} device-1 | {"content":{"candidate":"candidate:1487561729 1 udp 2113937151 03a6bb9f-af90-4276-bf87-b48a5ba7b2b2.local 55585 typ host generation 0 ufrag SXzF network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"89848e80-e6c5-4704-8d9d-34eea74560db","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3414279442 1 udp 1677729535 141.24.211.56 55585 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag SXzF network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"89848e80-e6c5-4704-8d9d-34eea74560db","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/89848e80-e6c5-4704-8d9d-34eea74560db'"} device-1 | {"device":"89848e80-e6c5-4704-8d9d-34eea74560db","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"81795ac3-3c15-4c83-b5a6-8852f6198411","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/95c42f09-ca20-4b09-9afb-2413654b23b4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"95c42f09-ca20-4b09-9afb-2413654b23b4","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"89848e80-e6c5-4704-8d9d-34eea74560db","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"81795ac3-3c15-4c83-b5a6-8852f6198411","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6f044fed0fe486e63604aed3746d9498","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6f044fed0fe486e63604aed3746d9498","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4"}}},"level":"info","message":"received a callback","requestID":"6f044fed0fe486e63604aed3746d9498"} device-1 | {"device":"81795ac3-3c15-4c83-b5a6-8852f6198411","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"89848e80-e6c5-4704-8d9d-34eea74560db","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":"6f044fed0fe486e63604aed3746d9498","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"6f044fed0fe486e63604aed3746d9498"} device-1 | {"device":"81795ac3-3c15-4c83-b5a6-8852f6198411","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"95c42f09-ca20-4b09-9afb-2413654b23b4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"95c42f09-ca20-4b09-9afb-2413654b23b4","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/95c42f09-ca20-4b09-9afb-2413654b23b4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"95c42f09-ca20-4b09-9afb-2413654b23b4","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dd853f9e729c54db35ad84fd7f6096c9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"dd853f9e729c54db35ad84fd7f6096c9","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4"}}},"level":"info","message":"received a callback","requestID":"dd853f9e729c54db35ad84fd7f6096c9"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a80c7670-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F95c42f09-ca20-4b09-9afb-2413654b23b4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d95ce94f-faac-421d-a276-6e63b1abd438","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.2998047} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.772904,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a80c7670-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4","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":"a80c7670-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a80c7670-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4 200 8ms","method":"GET","requestID":"a80c7670-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"dd853f9e729c54db35ad84fd7f6096c9","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"dd853f9e729c54db35ad84fd7f6096c9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a810e340-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"539d927d-8de7-471d-814a-eabc0a52ac93","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.3286424} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.157049,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a810e340-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a810e340-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a810e340-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/81795ac3-3c15-4c83-b5a6-8852f6198411/signaling 200 8ms","method":"POST","requestID":"a810e340-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a81269e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab9ef21c-9f4d-4473-9f6a-54acd11feec2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.3383157} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.163505,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a81269e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a81269e0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a81269e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/89848e80-e6c5-4704-8d9d-34eea74560db/signaling 200 8ms","method":"POST","requestID":"a81269e0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ","level":"info","message":"auth send jwt","requestID":"d9ed85a6aa7d7fa7e8aa6e71130ba40f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9ed85a6aa7d7fa7e8aa6e71130ba40f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6","requestID":"d9ed85a6aa7d7fa7e8aa6e71130ba40f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.921971,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d9ed85a6aa7d7fa7e8aa6e71130ba40f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222206,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d9ed85a6aa7d7fa7e8aa6e71130ba40f","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6","requestID":"d9ed85a6aa7d7fa7e8aa6e71130ba40f"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6 HTTP/1.1","status": "200","body_bytes_sent":"1361","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9ed85a6aa7d7fa7e8aa6e71130ba40f"} experiment-1 | {"level":"info","message":"GET /experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6 200 10ms","method":"GET","requestID":"d9ed85a6aa7d7fa7e8aa6e71130ba40f","responseTime":10,"status":200,"url":"/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ","level":"info","message":"auth send jwt","requestID":"74c13edca9dd5daccc295323429379e3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"74c13edca9dd5daccc295323429379e3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6","requestID":"74c13edca9dd5daccc295323429379e3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.702898,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"74c13edca9dd5daccc295323429379e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222206,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"74c13edca9dd5daccc295323429379e3","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Attempting to finish experiment","requestID":"74c13edca9dd5daccc295323429379e3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a81d3f50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.295439,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a81d3f50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222206,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a81d3f50-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4","device":"81795ac3-3c15-4c83-b5a6-8852f6198411","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4","device":"89848e80-e6c5-4704-8d9d-34eea74560db","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/95c42f09-ca20-4b09-9afb-2413654b23b4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"95c42f09-ca20-4b09-9afb-2413654b23b4","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F95c42f09-ca20-4b09-9afb-2413654b23b4': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F95c42f09-ca20-4b09-9afb-2413654b23b4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"5549afd8-1e1e-4465-89aa-009422129405","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.4277143} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7c5c335066460b5feca697cb925b358d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"7c5c335066460b5feca697cb925b358d","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2326149e-32a6-4228-8781-637b688bd160","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.4280684} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"00d2424255429743873b5f409e99ddc9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4"}}},"level":"info","message":"received a callback","requestID":"7c5c335066460b5feca697cb925b358d"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"a81d3f50-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"00d2424255429743873b5f409e99ddc9","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4"}}},"level":"info","message":"received a callback","requestID":"00d2424255429743873b5f409e99ddc9"} device-1 | {"data":{"peerconnection":"95c42f09-ca20-4b09-9afb-2413654b23b4","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a81d3f50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4 204 43ms","method":"DELETE","requestID":"a81d3f50-7ad0-11ef-9247-9909de679d1e","responseTime":43,"status":204,"url":"/peerconnections/95c42f09-ca20-4b09-9afb-2413654b23b4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"},"level":"info","message":"Successfully finished experiment","requestID":"74c13edca9dd5daccc295323429379e3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a8277880-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81795ac3-3c15-4c83-b5a6-8852f6198411","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8bc17c44-58dc-4e69-8f06-f169e6bfcaad","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.4793046} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.471314,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a8277880-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411","object_type":"device","rebac_allow":false,"scope_allow":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":"a8277880-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a8277880-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/81795ac3-3c15-4c83-b5a6-8852f6198411/signaling 200 14ms","method":"POST","requestID":"a8277880-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/81795ac3-3c15-4c83-b5a6-8852f6198411/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc47e19e8-cea7-42f2-bf75-79a7375efce6': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc47e19e8-cea7-42f2-bf75-79a7375efce6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"20f8a497-c2ce-4cbb-9727-27f6d9b55526","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.4869475} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f094b2ce-6e58-4668-8a6f-1729a3265e0f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.48728} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a829e980-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"74c13edca9dd5daccc295323429379e3","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F89848e80-e6c5-4704-8d9d-34eea74560db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a4ee077-7c5f-493b-ab6c-4a3685c9ede7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.4922326} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.415488,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a829e980-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a829e980-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a829e980-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/89848e80-e6c5-4704-8d9d-34eea74560db/signaling 200 10ms","method":"POST","requestID":"a829e980-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/89848e80-e6c5-4704-8d9d-34eea74560db/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6","requestID":"74c13edca9dd5daccc295323429379e3"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"74c13edca9dd5daccc295323429379e3"} experiment-1 | {"level":"info","message":"DELETE /experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6 204 151ms","method":"DELETE","requestID":"74c13edca9dd5daccc295323429379e3","responseTime":151,"status":204,"url":"/experiments/c47e19e8-cea7-42f2-bf75-79a7375efce6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"7c5c335066460b5feca697cb925b358d","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c5c335066460b5feca697cb925b358d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"00d2424255429743873b5f409e99ddc9","responseTime":116,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.122","http_referrer":"","http_user_agent":"node-fetch","requestID":"00d2424255429743873b5f409e99ddc9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ","level":"info","message":"auth send jwt","requestID":"582e5b90c8c46915966040e4cf676f2c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"582e5b90c8c46915966040e4cf676f2c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"582e5b90c8c46915966040e4cf676f2c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3318","request_time":"0.759","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a99b8f065dc028b1c3ecf818e80772ec"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.873696,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"582e5b90c8c46915966040e4cf676f2c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222206,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"582e5b90c8c46915966040e4cf676f2c","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3320","request_time":"0.752","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b900518c59a9b411e58a010b123a89ee"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/81795ac3-3c15-4c83-b5a6-8852f6198411' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/89848e80-e6c5-4704-8d9d-34eea74560db' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"128dac19-f596-4628-88eb-b4bfaf3a4407","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.5737302} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"582e5b90c8c46915966040e4cf676f2c","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f69f4311-2dea-479c-ab62-3109d3c1887c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.5786684} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"582e5b90c8c46915966040e4cf676f2c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"2f44bc18-5514-4d35-b4f5-2a934c0bffb1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.5885642} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e43da1f9-aeb2-4e0b-90c5-73c06ced2294","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.5889037} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"582e5b90c8c46915966040e4cf676f2c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.588538796Z"}]},"request_id":"20ba6ba6-3843-4d68-8080-cdb770ff7ca3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.5926178} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"582e5b90c8c46915966040e4cf676f2c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"582e5b90c8c46915966040e4cf676f2c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"582e5b90c8c46915966040e4cf676f2c"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"582e5b90c8c46915966040e4cf676f2c","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ","level":"info","message":"auth send jwt","requestID":"889e6d4457a4a6d63ddb307120c6d20b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"889e6d4457a4a6d63ddb307120c6d20b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"889e6d4457a4a6d63ddb307120c6d20b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.690791,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"889e6d4457a4a6d63ddb307120c6d20b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222206,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwNn0.Hnju3YQ8rePjsiobVd33g8OIyHiX67QGLp3RDG0KgdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"889e6d4457a4a6d63ddb307120c6d20b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5f75a965-b576-41bd-a8a9-d58529c021b0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.6174567} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"889e6d4457a4a6d63ddb307120c6d20b","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b0f204b-d052-449d-8f98-060602af45d3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.6224651} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"889e6d4457a4a6d63ddb307120c6d20b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"09791638-56ba-49e1-b4f0-df3d3565b827","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.6384046} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0912003e-a274-40aa-9481-1416f0fdae39","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.6384587} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"889e6d4457a4a6d63ddb307120c6d20b","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.638381951Z"}]},"request_id":"49fa6837-475e-43a0-907d-b67d8b82f8ec","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222206.6426022} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"889e6d4457a4a6d63ddb307120c6d20b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"889e6d4457a4a6d63ddb307120c6d20b"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"889e6d4457a4a6d63ddb307120c6d20b","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"889e6d4457a4a6d63ddb307120c6d20b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwN30.N7kVvKiBLhQUiPxuHw1OeY8fASZrKNmXYG8Hb3RrcnU","level":"info","message":"auth send jwt","requestID":"6489fcf605fe41a61dc0bcc1a26270b8"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6489fcf605fe41a61dc0bcc1a26270b8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6489fcf605fe41a61dc0bcc1a26270b8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:47Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677783,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6489fcf605fe41a61dc0bcc1a26270b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222207,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwN30.N7kVvKiBLhQUiPxuHw1OeY8fASZrKNmXYG8Hb3RrcnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6489fcf605fe41a61dc0bcc1a26270b8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.638381951Z"}]},"request_id":"1fb34b19-143e-4688-92f6-68d55e7d02ff","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222207.138972} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6489fcf605fe41a61dc0bcc1a26270b8","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5937b020-7095-469f-942f-b01afcd3568a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222207.1461825} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"6489fcf605fe41a61dc0bcc1a26270b8","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.638381951Z"}]},"request_id":"d8cfe81c-22b6-4337-ab67-425d81f765a3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222207.1607108} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6489fcf605fe41a61dc0bcc1a26270b8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6489fcf605fe41a61dc0bcc1a26270b8"} gateway-1 | {"time_local":"24/Sep/2024:23:56:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"6489fcf605fe41a61dc0bcc1a26270b8"} device-1 | {"level":"info","message":"PATCH /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52 200 37ms","method":"PATCH","requestID":"6489fcf605fe41a61dc0bcc1a26270b8","responseTime":37,"status":200,"url":"/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwN30.N7kVvKiBLhQUiPxuHw1OeY8fASZrKNmXYG8Hb3RrcnU","level":"info","message":"auth send jwt","requestID":"1674653864a8cd82578d8e2d70836305"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1674653864a8cd82578d8e2d70836305","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1674653864a8cd82578d8e2d70836305"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:47Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.232185,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1674653864a8cd82578d8e2d70836305","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222207,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwN30.N7kVvKiBLhQUiPxuHw1OeY8fASZrKNmXYG8Hb3RrcnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1674653864a8cd82578d8e2d70836305","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1674653864a8cd82578d8e2d70836305"} device-1 | {"level":"info","message":"POST /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/websocket 200 20ms","method":"POST","requestID":"1674653864a8cd82578d8e2d70836305","responseTime":21,"status":200,"url":"/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"1674653864a8cd82578d8e2d70836305"} device-1 | {"level":"info","message":"device 'http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f1e22469b89acb5856c4201407f65e9b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f1e22469b89acb5856c4201407f65e9b","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/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":"f1e22469b89acb5856c4201407f65e9b"} device-1 | {"level":"info","message":"OPTIONS /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/websocket 200 2ms","method":"OPTIONS","requestID":"f1e22469b89acb5856c4201407f65e9b","responseTime":2,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg","level":"info","message":"auth send jwt","requestID":"4ce0afa946be373b08685b1db3190446"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4ce0afa946be373b08685b1db3190446","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4ce0afa946be373b08685b1db3190446"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.193581,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4ce0afa946be373b08685b1db3190446","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4ce0afa946be373b08685b1db3190446","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4ce0afa946be373b08685b1db3190446"} device-1 | {"level":"info","message":"POST /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/websocket 200 21ms","method":"POST","requestID":"4ce0afa946be373b08685b1db3190446","responseTime":21,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/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":"4ce0afa946be373b08685b1db3190446"} device-1 | {"level":"info","message":"device 'http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"87695f53b03e5a4abae7dc677c7356dd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"87695f53b03e5a4abae7dc677c7356dd","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"87695f53b03e5a4abae7dc677c7356dd"} device-1 | {"level":"info","message":"OPTIONS /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98? 200 1ms","method":"OPTIONS","requestID":"87695f53b03e5a4abae7dc677c7356dd","responseTime":1,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg","level":"info","message":"auth send jwt","requestID":"3df111d612eb404b17449312cefe28f7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3df111d612eb404b17449312cefe28f7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"3df111d612eb404b17449312cefe28f7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.061144,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3df111d612eb404b17449312cefe28f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3df111d612eb404b17449312cefe28f7","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.588538796Z"}]},"request_id":"38cf52c5-5f88-42b8-aac0-3e2909e0864c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.7469184} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3df111d612eb404b17449312cefe28f7","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44ea2453-decd-4057-acd5-da2ecc6900d6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.7525291} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"3df111d612eb404b17449312cefe28f7","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.588538796Z"}]},"request_id":"9881eada-48e0-46da-82e4-19dc99d18160","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.763962} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3df111d612eb404b17449312cefe28f7","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"3df111d612eb404b17449312cefe28f7"} device-1 | {"level":"info","message":"PATCH /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98? 200 30ms","method":"PATCH","requestID":"3df111d612eb404b17449312cefe28f7","responseTime":30,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98? HTTP/1.1","status": "200","body_bytes_sent":"998","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":"3df111d612eb404b17449312cefe28f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg","level":"info","message":"auth send jwt","requestID":"d01a6b8de83285b30c1a0a1010bc2b37"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d01a6b8de83285b30c1a0a1010bc2b37","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d01a6b8de83285b30c1a0a1010bc2b37"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.234344,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d01a6b8de83285b30c1a0a1010bc2b37","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d01a6b8de83285b30c1a0a1010bc2b37","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.588538796Z"}]},"request_id":"2ce287e4-a3bc-48c3-bc62-122cf44ab082","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.7918415} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d01a6b8de83285b30c1a0a1010bc2b37","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d01a6b8de83285b30c1a0a1010bc2b37"} device-1 | {"level":"info","message":"GET /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98? 200 17ms","method":"GET","requestID":"d01a6b8de83285b30c1a0a1010bc2b37","responseTime":17,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d01a6b8de83285b30c1a0a1010bc2b37"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg","level":"info","message":"auth send jwt","requestID":"fdb85bb96e3a5ff8756de37f2d7b886a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fdb85bb96e3a5ff8756de37f2d7b886a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fdb85bb96e3a5ff8756de37f2d7b886a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.224119,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"fdb85bb96e3a5ff8756de37f2d7b886a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fdb85bb96e3a5ff8756de37f2d7b886a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.638381951Z"}]},"request_id":"448ef95b-b9a7-408e-bcb8-9c1e58380910","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.817657} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fdb85bb96e3a5ff8756de37f2d7b886a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fdb85bb96e3a5ff8756de37f2d7b886a"} gateway-1 | {"time_local":"24/Sep/2024:23:56:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fdb85bb96e3a5ff8756de37f2d7b886a"} device-1 | {"level":"info","message":"GET /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52? 200 18ms","method":"GET","requestID":"fdb85bb96e3a5ff8756de37f2d7b886a","responseTime":18,"status":200,"url":"/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg","level":"info","message":"auth send jwt","requestID":"d604444a8abc0003c03e59882443089e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d604444a8abc0003c03e59882443089e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d604444a8abc0003c03e59882443089e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.342518,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d604444a8abc0003c03e59882443089e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d604444a8abc0003c03e59882443089e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Attempting to run experiment","requestID":"d604444a8abc0003c03e59882443089e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Attempting to book experiment","requestID":"d604444a8abc0003c03e59882443089e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Successfully booked experiment","requestID":"d604444a8abc0003c03e59882443089e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a996bff0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a9970e10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.911028,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a996bff0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a996bff0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.615526,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9970e10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a9970e10-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.588538796Z"}]},"request_id":"64c84f27-8b93-47cf-a54d-065526d8e63a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.887886} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a996bff0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.638381951Z"}]},"request_id":"644acb1d-de85-4e69-8e5c-44b224452526","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.8886538} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a9970e10-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a996bff0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98? 200 16ms","method":"GET","requestID":"a996bff0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a9970e10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52? 200 15ms","method":"GET","requestID":"a9970e10-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Setting up experiment","requestID":"d604444a8abc0003c03e59882443089e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d604444a8abc0003c03e59882443089e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d604444a8abc0003c03e59882443089e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d604444a8abc0003c03e59882443089e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d604444a8abc0003c03e59882443089e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d604444a8abc0003c03e59882443089e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d604444a8abc0003c03e59882443089e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Successfully set up experiment","requestID":"d604444a8abc0003c03e59882443089e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a9a20a90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a9a258b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9a2a6d0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Successfully running experiment","requestID":"d604444a8abc0003c03e59882443089e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933073,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9a20a90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a9a20a90-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837134,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"client_addr":"127.0.0.1:49276","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9a258b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"a9a258b0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49276","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.446542,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b5a65db-0cd1-4e76-ac26-29732d08fc2e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.9642475} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9a2a6d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","object_type":"device","rebac_allow":false,"scope_allow":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":"a9a2a6d0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.588538796Z"}]},"request_id":"10dc6513-bc8d-4274-9b04-a2517229d231","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.9693892} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9a2a6d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"a9a20a90-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.638381951Z"}]},"request_id":"1e0f337c-c6be-4422-bcc8-ce3e0e980b35","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.9717495} device-1 | {"level":"info","message":"POST /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/signaling 200 15ms","method":"POST","requestID":"a9a2a6d0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a9a258b0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9a565f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a9a20a90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} device-1 | {"level":"info","message":"GET /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98? 200 26ms","method":"GET","requestID":"a9a20a90-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a9a258b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52? 200 25ms","method":"GET","requestID":"a9a258b0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":200,"url":"/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4cd68b56-f8f0-4c53-8b20-efae996f7279","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.980814} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.794586,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9a565f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9a67760-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a9a565f0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9a565f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/signaling 200 10ms","method":"POST","requestID":"a9a565f0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F932681bc-10b0-4d70-beb8-e4eb7fcedf4f#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F932681bc-10b0-4d70-beb8-e4eb7fcedf4f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"2423ea23-cfa0-415e-ae70-94c3b3417201","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.984771} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b53d439-0e42-49dd-825a-1d483d4f7239","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.9851193} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"d604444a8abc0003c03e59882443089e","responseTime":25,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f1cff6da-1c83-415a-8580-ae5188a40ebb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.9873614} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.199313,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9a67760-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a9a67760-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9a67760-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/signaling 200 9ms","method":"POST","requestID":"a9a67760-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d604444a8abc0003c03e59882443089e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9a84c20-7ad0-11ef-9247-9909de679d1e"} gateway-1 | {"time_local":"24/Sep/2024:23:56:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1292","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d604444a8abc0003c03e59882443089e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 164ms","method":"POST","requestID":"d604444a8abc0003c03e59882443089e","responseTime":164,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:48Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg","level":"info","message":"auth send jwt","requestID":"aba75552fc95a912f0dcacb33a570f82"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aba75552fc95a912f0dcacb33a570f82","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"639de35a-8799-4625-ba21-31029df9c231","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222208.9991112} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.375016,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:48Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aba75552fc95a912f0dcacb33a570f82"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9a84c20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","object_type":"device","rebac_allow":false,"scope_allow":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":"a9a84c20-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919243,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"aba75552fc95a912f0dcacb33a570f82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"aba75552fc95a912f0dcacb33a570f82","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9a84c20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/signaling 200 12ms","method":"POST","requestID":"a9a84c20-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d604444a8abc0003c03e59882443089e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.588538796Z"}]},"request_id":"39efe7ca-0831-49f6-9401-85bc5500c135","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222209.0077777} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a9aa6f00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"aba75552fc95a912f0dcacb33a570f82","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a9aa9610-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.878881,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:49Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aba75552fc95a912f0dcacb33a570f82"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9aa6f00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} gateway-1 | {"time_local":"24/Sep/2024:23:56:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aba75552fc95a912f0dcacb33a570f82"} device-1 | {"level":"info","message":"GET /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98? 200 13ms","method":"GET","requestID":"aba75552fc95a912f0dcacb33a570f82","responseTime":13,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98?"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a9aa6f00-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49270","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723167,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9aa9610-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a9aa9610-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOX0.Lva4CtlA2I_dGzqRDw4lmP_eF_slSbe9CscCAIMkye8","level":"info","message":"auth send jwt","requestID":"df62b20e264be1bf071c7724bb0ac4c0"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.588538796Z"}]},"request_id":"108899ee-4902-424d-8db3-5e0befb0d193","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222209.0156844} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"df62b20e264be1bf071c7724bb0ac4c0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"df62b20e264be1bf071c7724bb0ac4c0"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a9aa6f00-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.638381951Z"}]},"request_id":"182d9a70-fd0c-4604-bbe1-3e8a69f324db","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222209.0185072} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a9aa6f00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98? 200 12ms","method":"GET","requestID":"a9aa6f00-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a9aa9610-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731949,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"df62b20e264be1bf071c7724bb0ac4c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222209,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOX0.Lva4CtlA2I_dGzqRDw4lmP_eF_slSbe9CscCAIMkye8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"df62b20e264be1bf071c7724bb0ac4c0","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a9aa9610-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52? 200 15ms","method":"GET","requestID":"a9aa9610-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Building connection plan","requestID":"d604444a8abc0003c03e59882443089e"} 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":"99c73e8b-7764-407e-bd98-653ca62d1451"},{"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":"43fc8524-2c86-4654-b869-13e361ffd2ff"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"4b72dcf0-9a1d-491c-8896-1fc9ba6da2f8"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d604444a8abc0003c03e59882443089e"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d604444a8abc0003c03e59882443089e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:46.638381951Z"}]},"request_id":"37b5a192-a335-459f-9d7b-3b792ef81778","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222209.0259533} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"df62b20e264be1bf071c7724bb0ac4c0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a9ad5530-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"df62b20e264be1bf071c7724bb0ac4c0"} gateway-1 | {"time_local":"24/Sep/2024:23:56:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df62b20e264be1bf071c7724bb0ac4c0"} device-1 | {"level":"info","message":"GET /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52? 200 13ms","method":"GET","requestID":"df62b20e264be1bf071c7724bb0ac4c0","responseTime":13,"status":200,"url":"/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.90997,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9ad5530-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222208,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIwOH0.28afNxZbv-r9nwC6A1qLPg7Bfo22ee8jV8RHeHKuWgg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a9ad5530-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"24b01862-1cb0-442e-8572-ca8a9b3a0e3b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222209.0394862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0e61623-21c9-40be-84c7-70b6d8ad6adf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222209.0396879} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a9ad5530-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a9ad5530-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a9ad5530-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02'","requestID":"a9ad5530-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02'","requestID":"a9ad5530-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a9ad5530-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 24ms","method":"POST","requestID":"a9ad5530-7ad0-11ef-9247-9909de679d1e","responseTime":24,"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":"a9ad5530-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d604444a8abc0003c03e59882443089e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9b59290-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"627ce921-4e14-44bf-9986-007f1a75cfab","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222209.085486} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.415197,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9b59290-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a9b59290-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9b59290-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/signaling 200 8ms","method":"POST","requestID":"a9b59290-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9b6f220-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9a50889-0b19-402d-ab4b-3f78458aeb33","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222209.0946596} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.276654,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a9b6f220-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","object_type":"device","rebac_allow":false,"scope_allow":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":"a9b6f220-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9b6f220-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/signaling 200 8ms","method":"POST","requestID":"a9b6f220-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/signaling"} device-1 | {"device":"01a970d3-4e8c-43fb-9543-0a3c2ba08f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"01a970d3-4e8c-43fb-9543-0a3c2ba08f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"eee131fa-0dbe-4d2e-9567-5204c10cee52","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"a69705ce-d698-47dd-ac79-42738ef75d02","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6081155229375855303 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:zt9t\r\na=ice-pwd:pZ+HLxgBfAKtJY6C9dYeRYJG\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B3:F0:8E:DC:47:4A:EA:6D:36:BA:28:97:71:19:D9:90:E6:65:D8:15:7B:55:DB:F3:7B:B3:DF:39:DC:8C:59:31\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"01a970d3-4e8c-43fb-9543-0a3c2ba08f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1256868995 1 udp 2113937151 00d04a1f-bd62-4929-a606-bbf4bd984821.local 42757 typ host generation 0 ufrag zt9t network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"01a970d3-4e8c-43fb-9543-0a3c2ba08f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"01a970d3-4e8c-43fb-9543-0a3c2ba08f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:3653365136 1 udp 1677729535 141.24.211.56 42757 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag zt9t network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"01a970d3-4e8c-43fb-9543-0a3c2ba08f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a69705ce-d698-47dd-ac79-42738ef75d02","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"01a970d3-4e8c-43fb-9543-0a3c2ba08f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"880e057b789aec26141d4b1d876ea4e2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"880e057b789aec26141d4b1d876ea4e2","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"eee131fa-0dbe-4d2e-9567-5204c10cee52","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"eee131fa-0dbe-4d2e-9567-5204c10cee52","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"eee131fa-0dbe-4d2e-9567-5204c10cee52","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02"}}},"level":"info","message":"received a callback","requestID":"880e057b789aec26141d4b1d876ea4e2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"880e057b789aec26141d4b1d876ea4e2","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"880e057b789aec26141d4b1d876ea4e2"} device-1 | {"data":{"peerconnection":"a69705ce-d698-47dd-ac79-42738ef75d02","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"eee131fa-0dbe-4d2e-9567-5204c10cee52","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01a970d3-4e8c-43fb-9543-0a3c2ba08f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"eee131fa-0dbe-4d2e-9567-5204c10cee52","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"a69705ce-d698-47dd-ac79-42738ef75d02","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"01a970d3-4e8c-43fb-9543-0a3c2ba08f98","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/a69705ce-d698-47dd-ac79-42738ef75d02' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a69705ce-d698-47dd-ac79-42738ef75d02","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f1fa7315cc59c8da09d165639fd6b21b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f1fa7315cc59c8da09d165639fd6b21b","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02"}}},"level":"info","message":"received a callback","requestID":"f1fa7315cc59c8da09d165639fd6b21b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"aaf342b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa69705ce-d698-47dd-ac79-42738ef75d02","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1690fdaf-3af7-449c-be9a-95882f8b5f28","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.168292} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.912204,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"aaf342b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02","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":"aaf342b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"aaf342b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02 200 10ms","method":"GET","requestID":"aaf342b0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"f1fa7315cc59c8da09d165639fd6b21b","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"f1fa7315cc59c8da09d165639fd6b21b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aaf824b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"771e1f83-6f74-4e2b-a92e-0c1b227e7826","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.2026405} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.159998,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"aaf824b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","object_type":"device","rebac_allow":false,"scope_allow":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":"aaf824b0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aaf824b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/signaling 200 13ms","method":"POST","requestID":"aaf824b0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aafabcc0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d0e8add-43c8-40f7-bb44-e938917a455f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.2187283} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.340211,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"aafabcc0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","object_type":"device","rebac_allow":false,"scope_allow":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":"aafabcc0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aafabcc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/signaling 200 13ms","method":"POST","requestID":"aafabcc0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMX0.G7gH_Tnwws_mVSNAaGkS6ZV8MbCXZ7fP2iUTMYcqW80","level":"info","message":"auth send jwt","requestID":"1a98dd0b5b23474469820c1137b84fb6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1a98dd0b5b23474469820c1137b84fb6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f","requestID":"1a98dd0b5b23474469820c1137b84fb6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.35964,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1a98dd0b5b23474469820c1137b84fb6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222211,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMX0.G7gH_Tnwws_mVSNAaGkS6ZV8MbCXZ7fP2iUTMYcqW80"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1a98dd0b5b23474469820c1137b84fb6","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f","requestID":"1a98dd0b5b23474469820c1137b84fb6"} gateway-1 | {"time_local":"24/Sep/2024:23:56:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f HTTP/1.1","status": "200","body_bytes_sent":"1365","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a98dd0b5b23474469820c1137b84fb6"} experiment-1 | {"level":"info","message":"GET /experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f 200 15ms","method":"GET","requestID":"1a98dd0b5b23474469820c1137b84fb6","responseTime":15,"status":200,"url":"/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMX0.G7gH_Tnwws_mVSNAaGkS6ZV8MbCXZ7fP2iUTMYcqW80","level":"info","message":"auth send jwt","requestID":"bf47a8facab8a39a7925bc4e543e8ba9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bf47a8facab8a39a7925bc4e543e8ba9","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f","requestID":"bf47a8facab8a39a7925bc4e543e8ba9"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.656044,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bf47a8facab8a39a7925bc4e543e8ba9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222211,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMX0.G7gH_Tnwws_mVSNAaGkS6ZV8MbCXZ7fP2iUTMYcqW80"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bf47a8facab8a39a7925bc4e543e8ba9","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Attempting to finish experiment","requestID":"bf47a8facab8a39a7925bc4e543e8ba9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ab080330-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.324066,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ab080330-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222211,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMX0.G7gH_Tnwws_mVSNAaGkS6ZV8MbCXZ7fP2iUTMYcqW80"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ab080330-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02","device":"01a970d3-4e8c-43fb-9543-0a3c2ba08f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"eee131fa-0dbe-4d2e-9567-5204c10cee52","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"eee131fa-0dbe-4d2e-9567-5204c10cee52","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"eee131fa-0dbe-4d2e-9567-5204c10cee52","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/a69705ce-d698-47dd-ac79-42738ef75d02' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a69705ce-d698-47dd-ac79-42738ef75d02","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa69705ce-d698-47dd-ac79-42738ef75d02': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa69705ce-d698-47dd-ac79-42738ef75d02","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"1f15b2d8-68fc-40c5-be9f-8892ded65e85","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.325285} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2d73591-9c68-443c-bcd5-4dba97ec14cd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.325772} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d85c1f468b327163bbde53ea989057a2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d85c1f468b327163bbde53ea989057a2","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"ab080330-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02"}}},"level":"info","message":"received a callback","requestID":"d85c1f468b327163bbde53ea989057a2"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cb9e6255c62062822cc0cfcd113ed6ac","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"cb9e6255c62062822cc0cfcd113ed6ac","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02"}}},"level":"info","message":"received a callback","requestID":"cb9e6255c62062822cc0cfcd113ed6ac"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ab080330-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02 204 50ms","method":"DELETE","requestID":"ab080330-7ad0-11ef-9247-9909de679d1e","responseTime":50,"status":204,"url":"/peerconnections/a69705ce-d698-47dd-ac79-42738ef75d02"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"},"level":"info","message":"Successfully finished experiment","requestID":"bf47a8facab8a39a7925bc4e543e8ba9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ab143830-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01a970d3-4e8c-43fb-9543-0a3c2ba08f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20e2358d-bc38-4e39-9a5a-046cda274320","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.3869102} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.27535,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ab143830-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98","object_type":"device","rebac_allow":false,"scope_allow":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":"ab143830-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ab143830-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/signaling 200 17ms","method":"POST","requestID":"ab143830-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/01a970d3-4e8c-43fb-9543-0a3c2ba08f98/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F932681bc-10b0-4d70-beb8-e4eb7fcedf4f': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F932681bc-10b0-4d70-beb8-e4eb7fcedf4f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"278c93bf-5d9a-48bd-ba07-685f26ae557d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.3964877} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37423162-b810-46f5-be24-5ec136c591a4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.3970892} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"bf47a8facab8a39a7925bc4e543e8ba9","responseTime":23,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ab176c80-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feee131fa-0dbe-4d2e-9567-5204c10cee52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0745b9d-d8db-4eb8-85e0-ab0364aeffab","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.407483} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.084353,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ab176c80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52","object_type":"device","rebac_allow":false,"scope_allow":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":"ab176c80-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ab176c80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/signaling 200 14ms","method":"POST","requestID":"ab176c80-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/eee131fa-0dbe-4d2e-9567-5204c10cee52/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f","requestID":"bf47a8facab8a39a7925bc4e543e8ba9"} gateway-1 | {"time_local":"24/Sep/2024:23:56:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf47a8facab8a39a7925bc4e543e8ba9"} experiment-1 | {"level":"info","message":"DELETE /experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f 204 186ms","method":"DELETE","requestID":"bf47a8facab8a39a7925bc4e543e8ba9","responseTime":186,"status":204,"url":"/experiments/932681bc-10b0-4d70-beb8-e4eb7fcedf4f"} gateway-1 | {"time_local":"24/Sep/2024:23:56:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3269","request_time":"4.275","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"38b8e453b095432245f0a7181824fa03"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"d85c1f468b327163bbde53ea989057a2","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"d85c1f468b327163bbde53ea989057a2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"cb9e6255c62062822cc0cfcd113ed6ac","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"cb9e6255c62062822cc0cfcd113ed6ac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMX0.G7gH_Tnwws_mVSNAaGkS6ZV8MbCXZ7fP2iUTMYcqW80","level":"info","message":"auth send jwt","requestID":"c862df26a221e4d34c1049fb4644f359"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c862df26a221e4d34c1049fb4644f359","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c862df26a221e4d34c1049fb4644f359"} gateway-1 | {"time_local":"24/Sep/2024:23:56:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3132","request_time":"2.781","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4d0c5f3210f8a332b697da5441e8de71"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.965477,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c862df26a221e4d34c1049fb4644f359","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222211,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMX0.G7gH_Tnwws_mVSNAaGkS6ZV8MbCXZ7fP2iUTMYcqW80"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c862df26a221e4d34c1049fb4644f359","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/eee131fa-0dbe-4d2e-9567-5204c10cee52' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5c123494-feb8-4c80-afd6-ef0d5cdb07b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.4935021} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c862df26a221e4d34c1049fb4644f359","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/01a970d3-4e8c-43fb-9543-0a3c2ba08f98' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ac2fc43-40d6-45e9-acf6-9caa7a22b677","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.4985616} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c862df26a221e4d34c1049fb4644f359","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"98951f7e-a57a-42dc-b99a-cbe33b37b480","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.5094786} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e99cac79-c854-4300-9cb3-41de493c4eb7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.5096784} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"c862df26a221e4d34c1049fb4644f359","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.509453808Z"}]},"request_id":"b8cd1242-7d33-4769-b20b-f9cac3a22353","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.5141902} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c862df26a221e4d34c1049fb4644f359","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c862df26a221e4d34c1049fb4644f359"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"c862df26a221e4d34c1049fb4644f359","responseTime":40,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c862df26a221e4d34c1049fb4644f359"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMX0.G7gH_Tnwws_mVSNAaGkS6ZV8MbCXZ7fP2iUTMYcqW80","level":"info","message":"auth send jwt","requestID":"496ad0d943b3254360b07a34572b4e8c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"496ad0d943b3254360b07a34572b4e8c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"496ad0d943b3254360b07a34572b4e8c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.812458,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"496ad0d943b3254360b07a34572b4e8c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222211,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMX0.G7gH_Tnwws_mVSNAaGkS6ZV8MbCXZ7fP2iUTMYcqW80"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"496ad0d943b3254360b07a34572b4e8c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e1e1599c-e2c0-4a1a-a54a-9ffb83789f59","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.5459745} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"496ad0d943b3254360b07a34572b4e8c","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"562c7b03-51f8-44d0-ba1a-50c5da73929d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.5507045} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"496ad0d943b3254360b07a34572b4e8c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"d6bcf2db-b4a9-446f-8834-b1406c68974a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.5612593} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a337cdba-db1b-43d9-b9f7-1c3b452ec945","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.5614302} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"496ad0d943b3254360b07a34572b4e8c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.561234997Z"}]},"request_id":"d5316a8f-e84b-4747-af3f-cb30c71becaf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222211.5654614} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"496ad0d943b3254360b07a34572b4e8c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"496ad0d943b3254360b07a34572b4e8c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"496ad0d943b3254360b07a34572b4e8c"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"496ad0d943b3254360b07a34572b4e8c","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMn0.NiMIezZT03asV2xtTYS7e98eeNMhLPG5wbRgyIZL-pw","level":"info","message":"auth send jwt","requestID":"f6941a32a89c6cad31b3c284c7dfdd05"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f6941a32a89c6cad31b3c284c7dfdd05","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f6941a32a89c6cad31b3c284c7dfdd05"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:52Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.175268,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f6941a32a89c6cad31b3c284c7dfdd05","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222212,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMn0.NiMIezZT03asV2xtTYS7e98eeNMhLPG5wbRgyIZL-pw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f6941a32a89c6cad31b3c284c7dfdd05","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.561234997Z"}]},"request_id":"f3888304-1831-4cab-8858-feecd84ac74d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222212.0506718} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f6941a32a89c6cad31b3c284c7dfdd05","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf49a7e3-5d38-4054-b172-7931aa405245","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222212.0570965} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f6941a32a89c6cad31b3c284c7dfdd05","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.561234997Z"}]},"request_id":"bf7850bb-fc03-4108-b7d3-b3b19c0aa4dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222212.068362} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f6941a32a89c6cad31b3c284c7dfdd05","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f6941a32a89c6cad31b3c284c7dfdd05"} device-1 | {"level":"info","message":"PATCH /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863 200 33ms","method":"PATCH","requestID":"f6941a32a89c6cad31b3c284c7dfdd05","responseTime":33,"status":200,"url":"/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863"} gateway-1 | {"time_local":"24/Sep/2024:23:56:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"f6941a32a89c6cad31b3c284c7dfdd05"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMn0.NiMIezZT03asV2xtTYS7e98eeNMhLPG5wbRgyIZL-pw","level":"info","message":"auth send jwt","requestID":"e1110b2d509139f31bdd1047ee84af74"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e1110b2d509139f31bdd1047ee84af74","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e1110b2d509139f31bdd1047ee84af74"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:52Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838839,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e1110b2d509139f31bdd1047ee84af74","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222212,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxMn0.NiMIezZT03asV2xtTYS7e98eeNMhLPG5wbRgyIZL-pw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e1110b2d509139f31bdd1047ee84af74","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e1110b2d509139f31bdd1047ee84af74"} gateway-1 | {"time_local":"24/Sep/2024:23:56:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"e1110b2d509139f31bdd1047ee84af74"} device-1 | {"level":"info","message":"POST /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/websocket 200 19ms","method":"POST","requestID":"e1110b2d509139f31bdd1047ee84af74","responseTime":19,"status":200,"url":"/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f7e26d8387fbf0d3ebb271f0d2f00c0d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f7e26d8387fbf0d3ebb271f0d2f00c0d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/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":"f7e26d8387fbf0d3ebb271f0d2f00c0d"} device-1 | {"level":"info","message":"OPTIONS /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/websocket 200 1ms","method":"OPTIONS","requestID":"f7e26d8387fbf0d3ebb271f0d2f00c0d","responseTime":1,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI","level":"info","message":"auth send jwt","requestID":"c2b1e8fd875933417b730bbe437876bc"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c2b1e8fd875933417b730bbe437876bc","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c2b1e8fd875933417b730bbe437876bc"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.270943,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c2b1e8fd875933417b730bbe437876bc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c2b1e8fd875933417b730bbe437876bc","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c2b1e8fd875933417b730bbe437876bc"} gateway-1 | {"time_local":"24/Sep/2024:23:56:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c2b1e8fd875933417b730bbe437876bc"} device-1 | {"level":"info","message":"POST /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/websocket 200 21ms","method":"POST","requestID":"c2b1e8fd875933417b730bbe437876bc","responseTime":21,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e767d971e875ce0e5626c5be2445d7f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e767d971e875ce0e5626c5be2445d7f2","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9? 200 1ms","method":"OPTIONS","requestID":"e767d971e875ce0e5626c5be2445d7f2","responseTime":1,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"e767d971e875ce0e5626c5be2445d7f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI","level":"info","message":"auth send jwt","requestID":"a77e42d8ab612912d971b58ed27a34f5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a77e42d8ab612912d971b58ed27a34f5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a77e42d8ab612912d971b58ed27a34f5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.324479,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a77e42d8ab612912d971b58ed27a34f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a77e42d8ab612912d971b58ed27a34f5","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.509453808Z"}]},"request_id":"b624a1c0-d5dc-4ca7-9404-91db9a0170b2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.6654677} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a77e42d8ab612912d971b58ed27a34f5","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6fdcf825-5e15-4555-b0e4-9c64cd5fcfd2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.672657} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a77e42d8ab612912d971b58ed27a34f5","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.509453808Z"}]},"request_id":"b65b8bc4-00c9-4be3-b39d-bda86abe4e45","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.6863382} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a77e42d8ab612912d971b58ed27a34f5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a77e42d8ab612912d971b58ed27a34f5"} device-1 | {"level":"info","message":"PATCH /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9? 200 38ms","method":"PATCH","requestID":"a77e42d8ab612912d971b58ed27a34f5","responseTime":38,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9? HTTP/1.1","status": "200","body_bytes_sent":"998","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":"a77e42d8ab612912d971b58ed27a34f5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI","level":"info","message":"auth send jwt","requestID":"2972360b15571176df13c75cc87c94e3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2972360b15571176df13c75cc87c94e3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2972360b15571176df13c75cc87c94e3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.804664,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2972360b15571176df13c75cc87c94e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2972360b15571176df13c75cc87c94e3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.509453808Z"}]},"request_id":"852dbc62-46e4-4a0a-b956-08fdd7e43be2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.7141128} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2972360b15571176df13c75cc87c94e3","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2972360b15571176df13c75cc87c94e3"} gateway-1 | {"time_local":"24/Sep/2024:23:56:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2972360b15571176df13c75cc87c94e3"} device-1 | {"level":"info","message":"GET /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9? 200 18ms","method":"GET","requestID":"2972360b15571176df13c75cc87c94e3","responseTime":18,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI","level":"info","message":"auth send jwt","requestID":"0dd3ee590ca567af7d8d56b75c8baa2f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0dd3ee590ca567af7d8d56b75c8baa2f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0dd3ee590ca567af7d8d56b75c8baa2f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.101087,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0dd3ee590ca567af7d8d56b75c8baa2f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0dd3ee590ca567af7d8d56b75c8baa2f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.561234997Z"}]},"request_id":"ed76bc82-81f3-4015-beb2-0bd26bacc263","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.7380283} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0dd3ee590ca567af7d8d56b75c8baa2f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0dd3ee590ca567af7d8d56b75c8baa2f"} gateway-1 | {"time_local":"24/Sep/2024:23:56:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0dd3ee590ca567af7d8d56b75c8baa2f"} device-1 | {"level":"info","message":"GET /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863? 200 16ms","method":"GET","requestID":"0dd3ee590ca567af7d8d56b75c8baa2f","responseTime":16,"status":200,"url":"/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI","level":"info","message":"auth send jwt","requestID":"ca5e5ec38785e14fc19718135c7a676b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ca5e5ec38785e14fc19718135c7a676b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ca5e5ec38785e14fc19718135c7a676b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.196426,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ca5e5ec38785e14fc19718135c7a676b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ca5e5ec38785e14fc19718135c7a676b","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Attempting to run experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Attempting to book experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Successfully booked experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ac84df30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ac852d50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.610227,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac84df30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ac84df30-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37160","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:37160","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.404579,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac852d50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ac852d50-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.509453808Z"}]},"request_id":"be9c5798-38ae-4984-8841-c4f839e2c3c3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.8043866} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ac84df30-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ac84df30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.561234997Z"}]},"request_id":"d240cf40-7bbf-4041-8f13-5a3e09378e4c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.8079977} device-1 | {"level":"info","message":"GET /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9? 200 13ms","method":"GET","requestID":"ac84df30-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ac852d50-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ac852d50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863? 200 16ms","method":"GET","requestID":"ac852d50-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Setting up experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Successfully set up experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ac8cf580-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ac8d43a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ac8d6ab0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Successfully running experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.0125,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:37160","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac8cf580-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ac8cf580-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37160","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831087,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac8d43a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ac8d43a0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37170","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.509453808Z"}]},"request_id":"b961f9cb-0bf5-4e70-be46-92506899437b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.8626974} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"991e55e7-9293-4887-937b-72b1515e3460","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.863082} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"ac8cf580-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.561234997Z"}]},"request_id":"26b2c97f-e78f-4d48-bc29-9d82beb7b1e3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.8641143} authorization-1 | {"client_addr":"127.0.0.1:37170","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.49371,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac8d6ab0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"ac8d6ab0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"ac8d43a0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ac8cf580-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9? 200 22ms","method":"GET","requestID":"ac8cf580-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ac8d6ab0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/signaling 200 24ms","method":"POST","requestID":"ac8d6ab0-7ad0-11ef-9247-9909de679d1e","responseTime":24,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ac8d43a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb674454c-5187-46f5-8fde-9de7656e16a9#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb674454c-5187-46f5-8fde-9de7656e16a9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"15d877f0-ffdb-49fa-a869-491092215bfa","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.875964} device-1 | {"level":"info","message":"GET /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863? 200 26ms","method":"GET","requestID":"ac8d43a0-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":200,"url":"/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"705a8272-e11e-41be-8265-2d3777bf882d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.8764098} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ac916250-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"ca5e5ec38785e14fc19718135c7a676b","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ac91b070-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eced59d6-4d1b-45db-bf0c-a4c38b4dc84c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.881879} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.835981,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:37160","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac916250-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","object_type":"device","rebac_allow":false,"scope_allow":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":"ac916250-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78595691-a4d3-45e0-8320-23dc09226eb2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.885472} authorization-1 | {"client_addr":"127.0.0.1:37160","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.269469,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac91b070-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","object_type":"device","rebac_allow":false,"scope_allow":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":"ac91b070-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ca5e5ec38785e14fc19718135c7a676b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ac916250-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/signaling 200 10ms","method":"POST","requestID":"ac916250-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/signaling"} gateway-1 | {"time_local":"24/Sep/2024:23:56:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1292","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca5e5ec38785e14fc19718135c7a676b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 136ms","method":"POST","requestID":"ca5e5ec38785e14fc19718135c7a676b","responseTime":136,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ac91b070-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/signaling 200 11ms","method":"POST","requestID":"ac91b070-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI","level":"info","message":"auth send jwt","requestID":"7d49df5b833fff63132e152ce3896314"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7d49df5b833fff63132e152ce3896314","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ac93d350-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7d49df5b833fff63132e152ce3896314"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:37160","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:37160","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.334774,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7d49df5b833fff63132e152ce3896314","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7d49df5b833fff63132e152ce3896314","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dac43b25-d6b7-43ef-8e3a-4b7ab509c07c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.8980374} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.221098,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac93d350-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","object_type":"device","rebac_allow":false,"scope_allow":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":"ac93d350-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ac93d350-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/signaling 200 10ms","method":"POST","requestID":"ac93d350-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.509453808Z"}]},"request_id":"d10d5f99-7023-4252-b9e3-2eebf63c7947","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.9033298} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7d49df5b833fff63132e152ce3896314","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ac95a810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ac95cf20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7d49df5b833fff63132e152ce3896314"} gateway-1 | {"time_local":"24/Sep/2024:23:56:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d49df5b833fff63132e152ce3896314"} device-1 | {"level":"info","message":"GET /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9? 200 14ms","method":"GET","requestID":"7d49df5b833fff63132e152ce3896314","responseTime":14,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755307,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:37160","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac95a810-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ac95a810-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37160","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.868305,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac95cf20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ac95cf20-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI","level":"info","message":"auth send jwt","requestID":"6688eae6d3c70f37bacedcbb1d32a8b3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6688eae6d3c70f37bacedcbb1d32a8b3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6688eae6d3c70f37bacedcbb1d32a8b3"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.509453808Z"}]},"request_id":"5e57e4cb-cfbe-4bdb-a3a3-3741f35265c4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.9151244} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ac95a810-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.561234997Z"}]},"request_id":"0628fd93-05df-4926-b6ae-b9410eaa76ed","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.9159882} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ac95a810-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ac95cf20-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694144,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} device-1 | {"level":"info","message":"GET /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9? 200 13ms","method":"GET","requestID":"ac95a810-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6688eae6d3c70f37bacedcbb1d32a8b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6688eae6d3c70f37bacedcbb1d32a8b3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ac95cf20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863? 200 15ms","method":"GET","requestID":"ac95cf20-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:51.561234997Z"}]},"request_id":"fb16783e-b10b-47ad-9f5f-0908802c074e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.922326} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Building connection plan","requestID":"ca5e5ec38785e14fc19718135c7a676b"} 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":"236cc650-b1a8-43db-91c0-07b517703045"},{"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":"e4411507-427a-4dc3-a93f-4d7bc7f74d1d"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"b9a7bf76-56c0-4fa6-8bd5-06ce9562210e"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ca5e5ec38785e14fc19718135c7a676b"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ca5e5ec38785e14fc19718135c7a676b"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6688eae6d3c70f37bacedcbb1d32a8b3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ac988e40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6688eae6d3c70f37bacedcbb1d32a8b3"} gateway-1 | {"time_local":"24/Sep/2024:23:56:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6688eae6d3c70f37bacedcbb1d32a8b3"} device-1 | {"level":"info","message":"GET /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863? 200 12ms","method":"GET","requestID":"6688eae6d3c70f37bacedcbb1d32a8b3","responseTime":12,"status":200,"url":"/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.71843,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac988e40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222213,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxM30.cQm7gGDrRMueRVoSCMOfKUUYB-J_pWBgC2fuURTdvJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ac988e40-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"869094d9-b962-4c0a-8cf1-e1592d5006d9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.9339645} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27330b61-8551-4ad5-b70d-9d816d422a24","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.9341466} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ac988e40-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ac988e40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ac988e40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93'","requestID":"ac988e40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93'","requestID":"ac988e40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ac988e40-7ad0-11ef-9247-9909de679d1e"} 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":"ac988e40-7ad0-11ef-9247-9909de679d1e","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":"ac988e40-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ca5e5ec38785e14fc19718135c7a676b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aca02f60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"048b724f-4f68-4508-878b-9d3e5483320f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.981427} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.45648,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} device-1 | {"device":"555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","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/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"aca02f60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","object_type":"device","rebac_allow":false,"scope_allow":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":"aca02f60-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aca02f60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/signaling 200 12ms","method":"POST","requestID":"aca02f60-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aca25240-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43b6afa8-7a7a-478b-871d-2cc61bf68e87","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222213.9929492} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.336822,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"aca25240-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"aca25240-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aca25240-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/signaling 200 9ms","method":"POST","requestID":"aca25240-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/signaling"} device-1 | {"device":"186bc1a2-fd50-4ae3-9168-2b3c27685863","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"42643be5-f052-4fbe-bcbb-1e2b45ebbb93","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 8552551650871246798 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:F9iR\r\na=ice-pwd:cAF06Tg9UVKtwKUGlcBKrQAO\r\na=ice-options:trickle\r\na=fingerprint:sha-256 06:BC:D3:54:14:64:F6:2C:76:C4:46:4A:16:8A:BB:36:F4:0C:33:14:01:AF:D5:9D:80:37:8F:25:48:EC:A0:CB\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1248185595 1 udp 2113937151 df01b0b6-2836-4090-bdcd-6fcb75c25f7b.local 55433 typ host generation 0 ufrag F9iR network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:3645795816 1 udp 1677729535 141.24.211.56 55433 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag F9iR network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"42643be5-f052-4fbe-bcbb-1e2b45ebbb93","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"186bc1a2-fd50-4ae3-9168-2b3c27685863","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"186bc1a2-fd50-4ae3-9168-2b3c27685863","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"186bc1a2-fd50-4ae3-9168-2b3c27685863","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"47ac9b18bd87e6bc0a5d6ba2442d516f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93"}}},"level":"info","message":"received a callback","requestID":"47ac9b18bd87e6bc0a5d6ba2442d516f"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"47ac9b18bd87e6bc0a5d6ba2442d516f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"47ac9b18bd87e6bc0a5d6ba2442d516f","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"47ac9b18bd87e6bc0a5d6ba2442d516f"} device-1 | {"data":{"peerconnection":"42643be5-f052-4fbe-bcbb-1e2b45ebbb93","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"186bc1a2-fd50-4ae3-9168-2b3c27685863","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"186bc1a2-fd50-4ae3-9168-2b3c27685863","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"42643be5-f052-4fbe-bcbb-1e2b45ebbb93","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","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/42643be5-f052-4fbe-bcbb-1e2b45ebbb93' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"42643be5-f052-4fbe-bcbb-1e2b45ebbb93","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6ad9e46289de02e6e9cd596e4dd76e96","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6ad9e46289de02e6e9cd596e4dd76e96","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93"}}},"level":"info","message":"received a callback","requestID":"6ad9e46289de02e6e9cd596e4dd76e96"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"adde54b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F42643be5-f052-4fbe-bcbb-1e2b45ebbb93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93297dab-dc73-4611-8a29-bf63af1898dd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.0649605} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.756002,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"adde54b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93","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":"adde54b0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"adde54b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93 200 10ms","method":"GET","requestID":"adde54b0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"6ad9e46289de02e6e9cd596e4dd76e96","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"6ad9e46289de02e6e9cd596e4dd76e96"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ade3abe0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b863fa1-7c0d-4f2b-8d78-edebe503dc61","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.0999053} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.942232,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ade3abe0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","object_type":"device","rebac_allow":false,"scope_allow":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":"ade3abe0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ade3abe0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/signaling 200 11ms","method":"POST","requestID":"ade3abe0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ade5a7b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4119a6aa-2ffd-489d-aeeb-bbdc3c595ee5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.112976} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.741022,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ade5a7b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","object_type":"device","rebac_allow":false,"scope_allow":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":"ade5a7b0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ade5a7b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/signaling 200 11ms","method":"POST","requestID":"ade5a7b0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE","level":"info","message":"auth send jwt","requestID":"2abdfd03978079e5052e6a7c2aad8f8c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2abdfd03978079e5052e6a7c2aad8f8c","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b674454c-5187-46f5-8fde-9de7656e16a9","requestID":"2abdfd03978079e5052e6a7c2aad8f8c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.965778,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2abdfd03978079e5052e6a7c2aad8f8c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222216,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2abdfd03978079e5052e6a7c2aad8f8c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b674454c-5187-46f5-8fde-9de7656e16a9","requestID":"2abdfd03978079e5052e6a7c2aad8f8c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b674454c-5187-46f5-8fde-9de7656e16a9 HTTP/1.1","status": "200","body_bytes_sent":"1365","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2abdfd03978079e5052e6a7c2aad8f8c"} experiment-1 | {"level":"info","message":"GET /experiments/b674454c-5187-46f5-8fde-9de7656e16a9 200 13ms","method":"GET","requestID":"2abdfd03978079e5052e6a7c2aad8f8c","responseTime":13,"status":200,"url":"/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE","level":"info","message":"auth send jwt","requestID":"8e49482ec24fe80e96651f274b89796c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8e49482ec24fe80e96651f274b89796c","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b674454c-5187-46f5-8fde-9de7656e16a9","requestID":"8e49482ec24fe80e96651f274b89796c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.868323,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8e49482ec24fe80e96651f274b89796c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222216,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8e49482ec24fe80e96651f274b89796c","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Attempting to finish experiment","requestID":"8e49482ec24fe80e96651f274b89796c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"adf251e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.794772,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"adf251e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222216,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"adf251e0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93","device":"555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"186bc1a2-fd50-4ae3-9168-2b3c27685863","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"186bc1a2-fd50-4ae3-9168-2b3c27685863","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"186bc1a2-fd50-4ae3-9168-2b3c27685863","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/42643be5-f052-4fbe-bcbb-1e2b45ebbb93' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"42643be5-f052-4fbe-bcbb-1e2b45ebbb93","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F42643be5-f052-4fbe-bcbb-1e2b45ebbb93': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F42643be5-f052-4fbe-bcbb-1e2b45ebbb93","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"dead7949-f890-46f1-9a2b-aa9af5d1a60b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.2210333} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a7f27b43071478c2d2bb3b4379becd84","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a7f27b43071478c2d2bb3b4379becd84","responseTime":3,"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93"}}},"level":"info","message":"received a callback","requestID":"a7f27b43071478c2d2bb3b4379becd84"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"98362eee1c3c6dee025361ea18cce3b9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf18d138-af50-4a85-819c-2fdb5961f810","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.2218091} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"98362eee1c3c6dee025361ea18cce3b9","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"adf251e0-7ad0-11ef-9247-9909de679d1e","responseTime":17,"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93"}}},"level":"info","message":"received a callback","requestID":"98362eee1c3c6dee025361ea18cce3b9"} device-1 | {"data":{"peerconnection":"42643be5-f052-4fbe-bcbb-1e2b45ebbb93","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"adf251e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93 204 56ms","method":"DELETE","requestID":"adf251e0-7ad0-11ef-9247-9909de679d1e","responseTime":56,"status":204,"url":"/peerconnections/42643be5-f052-4fbe-bcbb-1e2b45ebbb93"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"},"level":"info","message":"Successfully finished experiment","requestID":"8e49482ec24fe80e96651f274b89796c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"adfe11b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"302fff2f-ea5e-4f61-850c-4ca4744bfd9c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.2738783} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.207452,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"adfe11b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9","object_type":"device","rebac_allow":false,"scope_allow":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":"adfe11b0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb674454c-5187-46f5-8fde-9de7656e16a9': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb674454c-5187-46f5-8fde-9de7656e16a9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"cb462819-7e94-45a0-a31e-8a974dde8656","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.281327} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"adfe11b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/signaling 200 15ms","method":"POST","requestID":"adfe11b0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9/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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5e23a73-1a2e-48f6-be16-0dfbe0073af2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.2818224} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"8e49482ec24fe80e96651f274b89796c","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ae00d0d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bc1a2-fd50-4ae3-9168-2b3c27685863","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7efb5379-e106-42a9-9e04-605b12b6dc33","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.2918} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.596304,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ae00d0d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863","object_type":"device","rebac_allow":false,"scope_allow":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":"ae00d0d0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ae00d0d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/signaling 200 12ms","method":"POST","requestID":"ae00d0d0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b674454c-5187-46f5-8fde-9de7656e16a9","requestID":"8e49482ec24fe80e96651f274b89796c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b674454c-5187-46f5-8fde-9de7656e16a9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e49482ec24fe80e96651f274b89796c"} gateway-1 | {"time_local":"24/Sep/2024:23:56:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3269","request_time":"4.256","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"5d460087404900cb9e8310f94c25ff7d"} experiment-1 | {"level":"info","message":"DELETE /experiments/b674454c-5187-46f5-8fde-9de7656e16a9 204 177ms","method":"DELETE","requestID":"8e49482ec24fe80e96651f274b89796c","responseTime":177,"status":204,"url":"/experiments/b674454c-5187-46f5-8fde-9de7656e16a9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"a7f27b43071478c2d2bb3b4379becd84","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"a7f27b43071478c2d2bb3b4379becd84"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"98362eee1c3c6dee025361ea18cce3b9","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:56:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"98362eee1c3c6dee025361ea18cce3b9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE","level":"info","message":"auth send jwt","requestID":"a1b6ffbbf0d0fcf1a98baa2eaad15199"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a1b6ffbbf0d0fcf1a98baa2eaad15199","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a1b6ffbbf0d0fcf1a98baa2eaad15199"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.196848,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a1b6ffbbf0d0fcf1a98baa2eaad15199","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222216,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1b6ffbbf0d0fcf1a98baa2eaad15199","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/186bc1a2-fd50-4ae3-9168-2b3c27685863' closed"} gateway-1 | {"time_local":"24/Sep/2024:23:56:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3132","request_time":"2.760","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fc877f88353055ccf100910fde879b88"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"71674528-8504-472c-960f-65421702e352","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.3820555} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a1b6ffbbf0d0fcf1a98baa2eaad15199","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/555e17f5-0cfe-4c51-bb67-4dd5cae29ce9' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec0156dc-3c33-4c7a-82d8-3c4dbe31bd81","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.3868356} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a1b6ffbbf0d0fcf1a98baa2eaad15199","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"54bf9203-dcb0-4a83-944c-5b8d8b2819d1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.3976865} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3a076ad-ed5a-4431-b8e1-ee081ae73145","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.3978016} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"a1b6ffbbf0d0fcf1a98baa2eaad15199","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.397654729Z"}]},"request_id":"37679acf-2cb9-49bf-8953-8b409d199813","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.4022024} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a1b6ffbbf0d0fcf1a98baa2eaad15199","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a1b6ffbbf0d0fcf1a98baa2eaad15199"} gateway-1 | {"time_local":"24/Sep/2024:23:56:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1b6ffbbf0d0fcf1a98baa2eaad15199"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"a1b6ffbbf0d0fcf1a98baa2eaad15199","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE","level":"info","message":"auth send jwt","requestID":"cc2de2aae6436c8d4c33ff190aec2787"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cc2de2aae6436c8d4c33ff190aec2787","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"cc2de2aae6436c8d4c33ff190aec2787"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.752796,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cc2de2aae6436c8d4c33ff190aec2787","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222216,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cc2de2aae6436c8d4c33ff190aec2787","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"22a68222-cc44-449c-ab33-a1414d4bc7ea","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.4333446} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cc2de2aae6436c8d4c33ff190aec2787","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8b3ba67-6c3b-43cd-bc2d-27401f0a1650","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.4380357} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"cc2de2aae6436c8d4c33ff190aec2787","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"ef8fb294-b1f4-4a4a-97ec-979f297a9120","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.448668} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4ce084d-e687-47a3-9e1e-95363b039016","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.4489796} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"cc2de2aae6436c8d4c33ff190aec2787","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.448642835Z"}]},"request_id":"92be6f24-5621-4cd0-a693-3ea1b75d4f85","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.4530194} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cc2de2aae6436c8d4c33ff190aec2787","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cc2de2aae6436c8d4c33ff190aec2787"} gateway-1 | {"time_local":"24/Sep/2024:23:56:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc2de2aae6436c8d4c33ff190aec2787"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"cc2de2aae6436c8d4c33ff190aec2787","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE","level":"info","message":"auth send jwt","requestID":"89dacba8cb31abbb993590facfc9c334"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"89dacba8cb31abbb993590facfc9c334","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"89dacba8cb31abbb993590facfc9c334"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.148175,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"89dacba8cb31abbb993590facfc9c334","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222216,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"89dacba8cb31abbb993590facfc9c334","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.397654729Z"}]},"request_id":"f2e83db8-6c5c-40c9-a037-12e51172d466","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.940929} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"89dacba8cb31abbb993590facfc9c334","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e219606-0d1a-4443-a11c-5fbc8c35921f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.9475114} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"89dacba8cb31abbb993590facfc9c334","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.397654729Z"}]},"request_id":"d9b8c79d-d6f7-4ec6-a7fc-2da953bec98f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222216.9613862} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"89dacba8cb31abbb993590facfc9c334","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"89dacba8cb31abbb993590facfc9c334"} gateway-1 | {"time_local":"24/Sep/2024:23:56:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"89dacba8cb31abbb993590facfc9c334"} device-1 | {"level":"info","message":"PATCH /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b 200 37ms","method":"PATCH","requestID":"89dacba8cb31abbb993590facfc9c334","responseTime":37,"status":200,"url":"/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE","level":"info","message":"auth send jwt","requestID":"b47a2b44415ec1fed5653f9e5b2a6cc1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b47a2b44415ec1fed5653f9e5b2a6cc1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b47a2b44415ec1fed5653f9e5b2a6cc1"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.39742,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b47a2b44415ec1fed5653f9e5b2a6cc1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222216,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxNn0.U-jyV2JDky4uYZjZTLOyvoh3Y8lDGxUR7PRXPj5MTxE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b47a2b44415ec1fed5653f9e5b2a6cc1","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b47a2b44415ec1fed5653f9e5b2a6cc1"} device-1 | {"level":"info","message":"POST /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/websocket 200 20ms","method":"POST","requestID":"b47a2b44415ec1fed5653f9e5b2a6cc1","responseTime":20,"status":200,"url":"/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"b47a2b44415ec1fed5653f9e5b2a6cc1"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"461974bae40f9d6b7b71bb029852623c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"461974bae40f9d6b7b71bb029852623c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/26b613db-9442-4943-b577-67909b18b6e8/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":"461974bae40f9d6b7b71bb029852623c"} device-1 | {"level":"info","message":"OPTIONS /devices/26b613db-9442-4943-b577-67909b18b6e8/websocket 200 1ms","method":"OPTIONS","requestID":"461974bae40f9d6b7b71bb029852623c","responseTime":1,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ","level":"info","message":"auth send jwt","requestID":"9fc255819f30ce7281e7c853d9ff26b8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9fc255819f30ce7281e7c853d9ff26b8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9fc255819f30ce7281e7c853d9ff26b8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.1701,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9fc255819f30ce7281e7c853d9ff26b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9fc255819f30ce7281e7c853d9ff26b8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9fc255819f30ce7281e7c853d9ff26b8"} device-1 | {"level":"info","message":"POST /devices/26b613db-9442-4943-b577-67909b18b6e8/websocket 200 21ms","method":"POST","requestID":"9fc255819f30ce7281e7c853d9ff26b8","responseTime":21,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:56:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/26b613db-9442-4943-b577-67909b18b6e8/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":"9fc255819f30ce7281e7c853d9ff26b8"} device-1 | {"level":"info","message":"device 'http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f9389660cc6615cbcbbe2a9c1ba7d520","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f9389660cc6615cbcbbe2a9c1ba7d520","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:56:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/26b613db-9442-4943-b577-67909b18b6e8? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"f9389660cc6615cbcbbe2a9c1ba7d520"} device-1 | {"level":"info","message":"OPTIONS /devices/26b613db-9442-4943-b577-67909b18b6e8? 200 1ms","method":"OPTIONS","requestID":"f9389660cc6615cbcbbe2a9c1ba7d520","responseTime":1,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ","level":"info","message":"auth send jwt","requestID":"2cc59de1b2f3ecc1032a51f94152f470"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2cc59de1b2f3ecc1032a51f94152f470","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2cc59de1b2f3ecc1032a51f94152f470"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.266123,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2cc59de1b2f3ecc1032a51f94152f470","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2cc59de1b2f3ecc1032a51f94152f470","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.448642835Z"}]},"request_id":"427fc8aa-dc58-4d18-81ac-843843b753f5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.5785985} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2cc59de1b2f3ecc1032a51f94152f470","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"383624f7-22ee-46fd-9b63-4a05bd211b65","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.5862586} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"2cc59de1b2f3ecc1032a51f94152f470","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.448642835Z"}]},"request_id":"f6868750-6995-474d-bd99-f1ea050a0087","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.5985138} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2cc59de1b2f3ecc1032a51f94152f470","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2cc59de1b2f3ecc1032a51f94152f470"} gateway-1 | {"time_local":"24/Sep/2024:23:56:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/26b613db-9442-4943-b577-67909b18b6e8? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2cc59de1b2f3ecc1032a51f94152f470"} device-1 | {"level":"info","message":"PATCH /devices/26b613db-9442-4943-b577-67909b18b6e8? 200 37ms","method":"PATCH","requestID":"2cc59de1b2f3ecc1032a51f94152f470","responseTime":37,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ","level":"info","message":"auth send jwt","requestID":"3a41b7f66b8b0486fe8bad9a9ebcc16a"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"3a41b7f66b8b0486fe8bad9a9ebcc16a","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3a41b7f66b8b0486fe8bad9a9ebcc16a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.085083,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3a41b7f66b8b0486fe8bad9a9ebcc16a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3a41b7f66b8b0486fe8bad9a9ebcc16a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.397654729Z"}]},"request_id":"0a2e83b4-c927-4482-bcc0-a956f8cbbe80","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.6313064} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3a41b7f66b8b0486fe8bad9a9ebcc16a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3a41b7f66b8b0486fe8bad9a9ebcc16a"} gateway-1 | {"time_local":"24/Sep/2024:23:56:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3a41b7f66b8b0486fe8bad9a9ebcc16a"} device-1 | {"level":"info","message":"GET /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b? 200 19ms","method":"GET","requestID":"3a41b7f66b8b0486fe8bad9a9ebcc16a","responseTime":19,"status":200,"url":"/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ","level":"info","message":"auth send jwt","requestID":"de702817416a989507ab17acf88edf3c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"de702817416a989507ab17acf88edf3c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de702817416a989507ab17acf88edf3c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960685,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de702817416a989507ab17acf88edf3c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"de702817416a989507ab17acf88edf3c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.448642835Z"}]},"request_id":"96a2eaf5-cfd2-46c8-b431-a4f931dffb43","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.6555796} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"de702817416a989507ab17acf88edf3c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de702817416a989507ab17acf88edf3c"} device-1 | {"level":"info","message":"GET /devices/26b613db-9442-4943-b577-67909b18b6e8? 200 17ms","method":"GET","requestID":"de702817416a989507ab17acf88edf3c","responseTime":17,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8?"} gateway-1 | {"time_local":"24/Sep/2024:23:56:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/26b613db-9442-4943-b577-67909b18b6e8? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de702817416a989507ab17acf88edf3c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ","level":"info","message":"auth send jwt","requestID":"75b5a31f055126f8fadf174e73e318f3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"75b5a31f055126f8fadf174e73e318f3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"75b5a31f055126f8fadf174e73e318f3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.235088,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"75b5a31f055126f8fadf174e73e318f3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"75b5a31f055126f8fadf174e73e318f3","responseTime":12,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Attempting to run experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Attempting to book experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Successfully booked experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"af740fe0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"af7436f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762928,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af740fe0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"af740fe0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37180","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37180","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.038061,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af7436f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"af7436f0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.397654729Z"}]},"request_id":"4664aaf4-903f-4b73-b9e7-f331edb49f6e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.7284946} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"af740fe0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.448642835Z"}]},"request_id":"c112dc8d-6d2b-4b27-8f7b-d464bc4ff67d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.732275} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"af7436f0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"af740fe0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b? 200 16ms","method":"GET","requestID":"af740fe0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"af7436f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/26b613db-9442-4943-b577-67909b18b6e8? 200 17ms","method":"GET","requestID":"af7436f0-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Setting up experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Successfully locked booking for experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Attempting to update booking for experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Successfully updated booking for experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Successfully set up experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"af7ebe40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"af7ee550-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af7f0c60-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Successfully running experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.052383,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37180","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af7ebe40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"af7ebe40-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37180","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927854,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af7ee550-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"af7ee550-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37196","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.397654729Z"}]},"request_id":"d0aa6021-b3ff-41c5-9f3a-104ece39fe04","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.8012798} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdcaf380-8989-4e85-b876-494ea23a7d11","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.8016927} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"af7ebe40-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.448642835Z"}]},"request_id":"49509618-db05-49e9-8cad-c7cbf9935103","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.802777} authorization-1 | {"client_addr":"127.0.0.1:37196","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.325865,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af7f0c60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"af7f0c60-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"af7ee550-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"af7ebe40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b? 200 20ms","method":"GET","requestID":"af7ebe40-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af7f0c60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/signaling 200 19ms","method":"POST","requestID":"af7f0c60-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"af7ee550-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/26b613db-9442-4943-b577-67909b18b6e8? 200 20ms","method":"GET","requestID":"af7ee550-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af8219a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af8267c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0990c539-1a35-4343-a588-fcd8b41b90c5#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0990c539-1a35-4343-a588-fcd8b41b90c5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"48bf685f-f91d-4944-a856-9523f1c0f881","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.8121269} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3e1cee1-cda6-4112-8c58-1b1585b8bfef","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.812274} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"75b5a31f055126f8fadf174e73e318f3","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"401cd9d7-1f38-459b-b7bb-ca73a509a230","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.8155162} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.219147,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af8219a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","object_type":"device","rebac_allow":false,"scope_allow":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":"af8219a0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37180","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c88425e1-d4e2-43c0-a250-78a4865670a7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.8195899} authorization-1 | {"client_addr":"127.0.0.1:37180","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.672684,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af8219a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af8267c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"POST /devices/26b613db-9442-4943-b577-67909b18b6e8/signaling 200 11ms","method":"POST","requestID":"af8219a0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"75b5a31f055126f8fadf174e73e318f3"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af8267c0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:56:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1292","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75b5a31f055126f8fadf174e73e318f3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 154ms","method":"POST","requestID":"75b5a31f055126f8fadf174e73e318f3","responseTime":154,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af8267c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/signaling 200 12ms","method":"POST","requestID":"af8267c0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af848aa0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ","level":"info","message":"auth send jwt","requestID":"66f2186e60fe2766abe53033c4e7f443"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"66f2186e60fe2766abe53033c4e7f443","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"66f2186e60fe2766abe53033c4e7f443"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37180","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37180","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939298,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"66f2186e60fe2766abe53033c4e7f443","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"66f2186e60fe2766abe53033c4e7f443","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e64c12be-4142-4296-b071-7ee497ed8fad","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.8319595} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.604682,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af848aa0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","object_type":"device","rebac_allow":false,"scope_allow":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":"af848aa0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af848aa0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.397654729Z"}]},"request_id":"c8dc27f4-3f9f-429c-a8cd-f929edcaa932","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.8365436} device-1 | {"level":"info","message":"POST /devices/26b613db-9442-4943-b577-67909b18b6e8/signaling 200 10ms","method":"POST","requestID":"af848aa0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"66f2186e60fe2766abe53033c4e7f443","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"af865f60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"af868670-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"66f2186e60fe2766abe53033c4e7f443"} gateway-1 | {"time_local":"24/Sep/2024:23:56:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"66f2186e60fe2766abe53033c4e7f443"} device-1 | {"level":"info","message":"GET /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b? 200 14ms","method":"GET","requestID":"66f2186e60fe2766abe53033c4e7f443","responseTime":14,"status":200,"url":"/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838265,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37180","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af865f60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"af865f60-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37180","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.85971,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af868670-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"af868670-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ","level":"info","message":"auth send jwt","requestID":"355bed86aa98835f96cea506cdcc2a4b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"355bed86aa98835f96cea506cdcc2a4b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"355bed86aa98835f96cea506cdcc2a4b"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.397654729Z"}]},"request_id":"3712bf14-9c0d-4861-9505-743b67784c98","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.8476462} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"af865f60-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.448642835Z"}]},"request_id":"4e39a826-4fdb-4d89-9ffd-4ea2e0cadcc9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.8488557} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"af868670-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93149,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"355bed86aa98835f96cea506cdcc2a4b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"af865f60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"355bed86aa98835f96cea506cdcc2a4b","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b? 200 15ms","method":"GET","requestID":"af865f60-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"af868670-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/26b613db-9442-4943-b577-67909b18b6e8? 200 17ms","method":"GET","requestID":"af868670-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:56:56.448642835Z"}]},"request_id":"3bd4b261-39a7-4a02-b332-5ec3519db0fe","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.856872} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Building connection plan","requestID":"75b5a31f055126f8fadf174e73e318f3"} 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":"0d76dcc2-bb1a-46eb-a546-c5e1327e86c8"},{"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":"788bb607-91a3-475f-8dca-343ab3cd8ece"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"d35ce3a2-3210-490c-9d62-94d1311d95ad"}]},"level":"info","message":"Built pairwise service configurations","requestID":"75b5a31f055126f8fadf174e73e318f3"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"75b5a31f055126f8fadf174e73e318f3"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"355bed86aa98835f96cea506cdcc2a4b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"af89bac0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"355bed86aa98835f96cea506cdcc2a4b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} gateway-1 | {"time_local":"24/Sep/2024:23:56:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/26b613db-9442-4943-b577-67909b18b6e8? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"355bed86aa98835f96cea506cdcc2a4b"} device-1 | {"level":"info","message":"GET /devices/26b613db-9442-4943-b577-67909b18b6e8? 200 16ms","method":"GET","requestID":"355bed86aa98835f96cea506cdcc2a4b","responseTime":16,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.740259,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af89bac0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222218,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIxOH0.yw8dLGh-bZN-0FWgr1pzHzFCS8Hglwquv0u_oCamsJQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"af89bac0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a63458c6-deef-4957-88e8-eb5c5de071bf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.8710074} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53ece678-b94c-4345-844c-34f76a79a610","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.871399} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"af89bac0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"af89bac0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"af89bac0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b'","requestID":"af89bac0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b'","requestID":"af89bac0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"af89bac0-7ad0-11ef-9247-9909de679d1e"} 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":"af89bac0-7ad0-11ef-9247-9909de679d1e","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":"af89bac0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"75b5a31f055126f8fadf174e73e318f3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af915be0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88fcd3a4-f8e6-479f-b053-cfb1e6370e90","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.9152882} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.12339,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af915be0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","object_type":"device","rebac_allow":false,"scope_allow":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":"af915be0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"26b613db-9442-4943-b577-67909b18b6e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"26b613db-9442-4943-b577-67909b18b6e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af915be0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/signaling 200 10ms","method":"POST","requestID":"af915be0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af9330a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"526d831f-9d61-4d84-a921-9d5bea5536b5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222218.9263601} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.529094,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:56:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af9330a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","object_type":"device","rebac_allow":false,"scope_allow":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":"af9330a0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af9330a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/26b613db-9442-4943-b577-67909b18b6e8/signaling 200 8ms","method":"POST","requestID":"af9330a0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8/signaling"} device-1 | {"device":"0fcdc218-1092-4f26-ba67-233d67a2d97b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"cb5b7e47-4216-436c-a7bf-f72eb7f4570b","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 3740393127567747176 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:1i6V\r\na=ice-pwd:DQ6xsVBXCaIeXkGRN8Y+/yvS\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A9:FD:FD:BA:C9:C0:1A:F4:60:AD:18:3F:33:77:F3:E1:A3:20:2C:BC:C7:BC:75:8E:E9:30:81:61:37:EA:E7:9C\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"26b613db-9442-4943-b577-67909b18b6e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3046388758 1 udp 2113937151 a2004a56-6c1a-407b-acfc-38a0de711683.local 42494 typ host generation 0 ufrag 1i6V network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"26b613db-9442-4943-b577-67909b18b6e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"26b613db-9442-4943-b577-67909b18b6e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:650089733 1 udp 1677729535 141.24.211.56 42494 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 1i6V network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"26b613db-9442-4943-b577-67909b18b6e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"26b613db-9442-4943-b577-67909b18b6e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cb5b7e47-4216-436c-a7bf-f72eb7f4570b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"17be6102dd3b47d1aa1a0a4e9de189cd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"17be6102dd3b47d1aa1a0a4e9de189cd","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b"}}},"level":"info","message":"received a callback","requestID":"17be6102dd3b47d1aa1a0a4e9de189cd"} device-1 | {"device":"0fcdc218-1092-4f26-ba67-233d67a2d97b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0fcdc218-1092-4f26-ba67-233d67a2d97b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0fcdc218-1092-4f26-ba67-233d67a2d97b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.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":"17be6102dd3b47d1aa1a0a4e9de189cd","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"17be6102dd3b47d1aa1a0a4e9de189cd"} device-1 | {"data":{"peerconnection":"cb5b7e47-4216-436c-a7bf-f72eb7f4570b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0fcdc218-1092-4f26-ba67-233d67a2d97b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"26b613db-9442-4943-b577-67909b18b6e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"0fcdc218-1092-4f26-ba67-233d67a2d97b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"cb5b7e47-4216-436c-a7bf-f72eb7f4570b","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"26b613db-9442-4943-b577-67909b18b6e8","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/cb5b7e47-4216-436c-a7bf-f72eb7f4570b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cb5b7e47-4216-436c-a7bf-f72eb7f4570b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ed79290a80d07da93a8e062084ce700f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ed79290a80d07da93a8e062084ce700f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b"}}},"level":"info","message":"received a callback","requestID":"ed79290a80d07da93a8e062084ce700f"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b0d2b580-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcb5b7e47-4216-436c-a7bf-f72eb7f4570b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1deb6844-83c1-4af1-be33-5fa6c0134a08","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.0224779} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.645356,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b0d2b580-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b","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":"b0d2b580-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b0d2b580-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b 200 12ms","method":"GET","requestID":"b0d2b580-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"ed79290a80d07da93a8e062084ce700f","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"ed79290a80d07da93a8e062084ce700f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0d8f710-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0ac6d7f-f309-47b7-9ac7-7f92eba24039","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.0655363} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.2568,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b0d8f710-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","object_type":"device","rebac_allow":false,"scope_allow":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":"b0d8f710-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0d8f710-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/26b613db-9442-4943-b577-67909b18b6e8/signaling 200 15ms","method":"POST","requestID":"b0d8f710-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0dbdd40-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac104073-8765-46b1-8823-3c45dd7bcbef","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.083148} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.95819,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b0dbdd40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","object_type":"device","rebac_allow":false,"scope_allow":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":"b0dbdd40-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0dbdd40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/signaling 200 14ms","method":"POST","requestID":"b0dbdd40-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8","level":"info","message":"auth send jwt","requestID":"56a29c6e943c3612280a2f69ccfd6e7a"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"56a29c6e943c3612280a2f69ccfd6e7a","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0990c539-1a35-4343-a588-fcd8b41b90c5","requestID":"56a29c6e943c3612280a2f69ccfd6e7a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.275454,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"56a29c6e943c3612280a2f69ccfd6e7a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222221,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"56a29c6e943c3612280a2f69ccfd6e7a","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0990c539-1a35-4343-a588-fcd8b41b90c5","requestID":"56a29c6e943c3612280a2f69ccfd6e7a"} gateway-1 | {"time_local":"24/Sep/2024:23:57:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0990c539-1a35-4343-a588-fcd8b41b90c5 HTTP/1.1","status": "200","body_bytes_sent":"1365","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56a29c6e943c3612280a2f69ccfd6e7a"} experiment-1 | {"level":"info","message":"GET /experiments/0990c539-1a35-4343-a588-fcd8b41b90c5 200 15ms","method":"GET","requestID":"56a29c6e943c3612280a2f69ccfd6e7a","responseTime":15,"status":200,"url":"/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8","level":"info","message":"auth send jwt","requestID":"af9ca65a9527a1d4d61255c03a129ad3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"af9ca65a9527a1d4d61255c03a129ad3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0990c539-1a35-4343-a588-fcd8b41b90c5","requestID":"af9ca65a9527a1d4d61255c03a129ad3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.284181,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af9ca65a9527a1d4d61255c03a129ad3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222221,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af9ca65a9527a1d4d61255c03a129ad3","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Attempting to finish experiment","requestID":"af9ca65a9527a1d4d61255c03a129ad3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b0e700d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.282524,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b0e700d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222221,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b0e700d0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b","device":"26b613db-9442-4943-b577-67909b18b6e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"0fcdc218-1092-4f26-ba67-233d67a2d97b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0fcdc218-1092-4f26-ba67-233d67a2d97b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0fcdc218-1092-4f26-ba67-233d67a2d97b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/cb5b7e47-4216-436c-a7bf-f72eb7f4570b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cb5b7e47-4216-436c-a7bf-f72eb7f4570b","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"06a84688125b4727bc44fd2b94c499b8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcb5b7e47-4216-436c-a7bf-f72eb7f4570b': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcb5b7e47-4216-436c-a7bf-f72eb7f4570b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"ea242876-b838-4fb4-a4d0-0f99ae2b9ed3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.1773329} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"06a84688125b4727bc44fd2b94c499b8","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16a2213a-d51d-4269-b4de-607d25d37980","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.1779635} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"052109138f9d31cc3d632814d8ea7405","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"052109138f9d31cc3d632814d8ea7405","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b"}}},"level":"info","message":"received a callback","requestID":"06a84688125b4727bc44fd2b94c499b8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"b0e700d0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/relations/update"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b"}}},"level":"info","message":"received a callback","requestID":"052109138f9d31cc3d632814d8ea7405"} device-1 | {"data":{"peerconnection":"cb5b7e47-4216-436c-a7bf-f72eb7f4570b","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b0e700d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b 204 48ms","method":"DELETE","requestID":"b0e700d0-7ad0-11ef-9247-9909de679d1e","responseTime":48,"status":204,"url":"/peerconnections/cb5b7e47-4216-436c-a7bf-f72eb7f4570b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"},"level":"info","message":"Successfully finished experiment","requestID":"af9ca65a9527a1d4d61255c03a129ad3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0f1af30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26b613db-9442-4943-b577-67909b18b6e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc7a0db1-890b-45f7-864a-025cc249a0c7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.22669} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.205714,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b0f1af30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26b613db-9442-4943-b577-67909b18b6e8","object_type":"device","rebac_allow":false,"scope_allow":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":"b0f1af30-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0f1af30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0990c539-1a35-4343-a588-fcd8b41b90c5': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0990c539-1a35-4343-a588-fcd8b41b90c5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"a69b8f08-5e97-42e9-b812-e04c9e4747f4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.2341752} device-1 | {"level":"info","message":"POST /devices/26b613db-9442-4943-b577-67909b18b6e8/signaling 200 16ms","method":"POST","requestID":"b0f1af30-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/26b613db-9442-4943-b577-67909b18b6e8/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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34e364fd-6cfb-4409-80c6-086087b15bcd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.2347748} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"af9ca65a9527a1d4d61255c03a129ad3","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0f49560-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fcdc218-1092-4f26-ba67-233d67a2d97b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b09bc951-7903-471e-9777-7df704114ef5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.2445767} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.504052,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b0f49560-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b","object_type":"device","rebac_allow":false,"scope_allow":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":"b0f49560-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0f49560-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/signaling 200 13ms","method":"POST","requestID":"b0f49560-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/0fcdc218-1092-4f26-ba67-233d67a2d97b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0990c539-1a35-4343-a588-fcd8b41b90c5","requestID":"af9ca65a9527a1d4d61255c03a129ad3"} gateway-1 | {"time_local":"24/Sep/2024:23:57:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0990c539-1a35-4343-a588-fcd8b41b90c5 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af9ca65a9527a1d4d61255c03a129ad3"} gateway-1 | {"time_local":"24/Sep/2024:23:57:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3270","request_time":"4.304","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"dc4d5bfa7d8d8f72ac97b28f1e969d5e"} experiment-1 | {"level":"info","message":"DELETE /experiments/0990c539-1a35-4343-a588-fcd8b41b90c5 204 164ms","method":"DELETE","requestID":"af9ca65a9527a1d4d61255c03a129ad3","responseTime":164,"status":204,"url":"/experiments/0990c539-1a35-4343-a588-fcd8b41b90c5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"06a84688125b4727bc44fd2b94c499b8","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"06a84688125b4727bc44fd2b94c499b8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"052109138f9d31cc3d632814d8ea7405","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"052109138f9d31cc3d632814d8ea7405"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8","level":"info","message":"auth send jwt","requestID":"c8dfabe0fb6a727c2d3045a8942714fd"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"c8dfabe0fb6a727c2d3045a8942714fd","responseTime":11,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3130","request_time":"2.793","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"716d9e916b25cac9d45d6264f7974223"} device-1 | {"level":"info","message":"postDevices called","requestID":"c8dfabe0fb6a727c2d3045a8942714fd"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.974257,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c8dfabe0fb6a727c2d3045a8942714fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222221,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c8dfabe0fb6a727c2d3045a8942714fd","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/0fcdc218-1092-4f26-ba67-233d67a2d97b' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6a0fb5de-22fb-4897-9a07-ee2b85f8ad25","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.3314397} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c8dfabe0fb6a727c2d3045a8942714fd","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/26b613db-9442-4943-b577-67909b18b6e8' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca773de9-55c7-4ac8-ace5-5bc409f72ef1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.3379066} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"c8dfabe0fb6a727c2d3045a8942714fd","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"6be1cd90-6baa-44bd-88ce-66738748eb29","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.348825} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1ec42c1-6cb8-42d9-9bf8-8a8b4a4e6608","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.3489685} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"c8dfabe0fb6a727c2d3045a8942714fd","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.348781608Z"}]},"request_id":"74958601-2ce8-431f-b6c0-139b6c276a95","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.353941} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c8dfabe0fb6a727c2d3045a8942714fd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c8dfabe0fb6a727c2d3045a8942714fd"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"c8dfabe0fb6a727c2d3045a8942714fd","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8dfabe0fb6a727c2d3045a8942714fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8","level":"info","message":"auth send jwt","requestID":"ab5d10ecc839cbd4f9bd4745a6e57943"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ab5d10ecc839cbd4f9bd4745a6e57943","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ab5d10ecc839cbd4f9bd4745a6e57943"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.783694,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ab5d10ecc839cbd4f9bd4745a6e57943","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222221,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ab5d10ecc839cbd4f9bd4745a6e57943","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"11a45306-0efa-4991-9fb2-82d58f4cda79","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.3847265} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ab5d10ecc839cbd4f9bd4745a6e57943","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da2bf14f-21de-4f7e-98bd-ec56cb08b960","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.3892393} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ab5d10ecc839cbd4f9bd4745a6e57943","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a07fd448-bac6-4bf2-b822-2f1ee5ffda53","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.4003096} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3aad2f2-727f-48fa-975c-2abb3a879f9f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.4004252} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"ab5d10ecc839cbd4f9bd4745a6e57943","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.400278467Z"}]},"request_id":"b3ea8614-5070-425f-9f81-dbd8a332492e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.4049137} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ab5d10ecc839cbd4f9bd4745a6e57943","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ab5d10ecc839cbd4f9bd4745a6e57943"} gateway-1 | {"time_local":"24/Sep/2024:23:57:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab5d10ecc839cbd4f9bd4745a6e57943"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"ab5d10ecc839cbd4f9bd4745a6e57943","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8","level":"info","message":"auth send jwt","requestID":"86c04c8da7ed9d2fcef8db55ec3c60ef"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"86c04c8da7ed9d2fcef8db55ec3c60ef","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"86c04c8da7ed9d2fcef8db55ec3c60ef"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944968,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"86c04c8da7ed9d2fcef8db55ec3c60ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222221,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"86c04c8da7ed9d2fcef8db55ec3c60ef","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.348781608Z"}]},"request_id":"4f789111-5629-42ee-8b97-b33965d06cf2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.8900068} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"86c04c8da7ed9d2fcef8db55ec3c60ef","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4425639-6b57-4f7f-a63e-c1ab6b01b355","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.8956988} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"86c04c8da7ed9d2fcef8db55ec3c60ef","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.348781608Z"}]},"request_id":"c5e16e91-2092-468c-a233-7ed44a5f4905","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222221.9085672} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"86c04c8da7ed9d2fcef8db55ec3c60ef","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"86c04c8da7ed9d2fcef8db55ec3c60ef"} device-1 | {"level":"info","message":"PATCH /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f 200 34ms","method":"PATCH","requestID":"86c04c8da7ed9d2fcef8db55ec3c60ef","responseTime":34,"status":200,"url":"/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f"} gateway-1 | {"time_local":"24/Sep/2024:23:57:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"86c04c8da7ed9d2fcef8db55ec3c60ef"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8","level":"info","message":"auth send jwt","requestID":"37d0d18e1ef9c0d78512ba7479b4df61"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"37d0d18e1ef9c0d78512ba7479b4df61","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"37d0d18e1ef9c0d78512ba7479b4df61"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.320348,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"37d0d18e1ef9c0d78512ba7479b4df61","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222221,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyMX0.U3iZnWte5kgwEXS5_hQNm9ivP8R15P1k1PoILMzqau8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"37d0d18e1ef9c0d78512ba7479b4df61","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"37d0d18e1ef9c0d78512ba7479b4df61"} gateway-1 | {"time_local":"24/Sep/2024:23:57:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"37d0d18e1ef9c0d78512ba7479b4df61"} device-1 | {"level":"info","message":"POST /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/websocket 200 20ms","method":"POST","requestID":"37d0d18e1ef9c0d78512ba7479b4df61","responseTime":20,"status":200,"url":"/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5f01519d7f28d8d84ab7596d910b1b9a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5f01519d7f28d8d84ab7596d910b1b9a","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/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":"5f01519d7f28d8d84ab7596d910b1b9a"} device-1 | {"level":"info","message":"OPTIONS /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/websocket 200 1ms","method":"OPTIONS","requestID":"5f01519d7f28d8d84ab7596d910b1b9a","responseTime":1,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI","level":"info","message":"auth send jwt","requestID":"cc83d211afb13d49493eee68bd2a2eb0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc83d211afb13d49493eee68bd2a2eb0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"cc83d211afb13d49493eee68bd2a2eb0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.232808,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cc83d211afb13d49493eee68bd2a2eb0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc83d211afb13d49493eee68bd2a2eb0","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"cc83d211afb13d49493eee68bd2a2eb0"} device-1 | {"level":"info","message":"POST /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/websocket 200 22ms","method":"POST","requestID":"cc83d211afb13d49493eee68bd2a2eb0","responseTime":22,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cc83d211afb13d49493eee68bd2a2eb0"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bffbbf612d8584f9deacdec68842583f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"bffbbf612d8584f9deacdec68842583f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"bffbbf612d8584f9deacdec68842583f"} device-1 | {"level":"info","message":"OPTIONS /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243? 200 1ms","method":"OPTIONS","requestID":"bffbbf612d8584f9deacdec68842583f","responseTime":1,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI","level":"info","message":"auth send jwt","requestID":"61edd233ecd473e6fde88572b3cbef8f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"61edd233ecd473e6fde88572b3cbef8f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"61edd233ecd473e6fde88572b3cbef8f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.445015,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"61edd233ecd473e6fde88572b3cbef8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"61edd233ecd473e6fde88572b3cbef8f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.400278467Z"}]},"request_id":"e3981b70-8853-4366-825d-bfdcded0a149","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.515643} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"61edd233ecd473e6fde88572b3cbef8f","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e959e83-4535-46f4-a31f-247a346037b7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.5240984} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"61edd233ecd473e6fde88572b3cbef8f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.400278467Z"}]},"request_id":"878d6afc-4e80-4c45-b79f-acdebf8d2353","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.535245} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"61edd233ecd473e6fde88572b3cbef8f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"61edd233ecd473e6fde88572b3cbef8f"} device-1 | {"level":"info","message":"PATCH /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243? 200 38ms","method":"PATCH","requestID":"61edd233ecd473e6fde88572b3cbef8f","responseTime":38,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"61edd233ecd473e6fde88572b3cbef8f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI","level":"info","message":"auth send jwt","requestID":"dedf491ae5f863c8d788dd6be417be27"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"dedf491ae5f863c8d788dd6be417be27","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dedf491ae5f863c8d788dd6be417be27"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.364895,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dedf491ae5f863c8d788dd6be417be27","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dedf491ae5f863c8d788dd6be417be27","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.348781608Z"}]},"request_id":"cb1ec9dc-9247-4b8d-868f-0887606d7559","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.5657947} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dedf491ae5f863c8d788dd6be417be27","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dedf491ae5f863c8d788dd6be417be27"} gateway-1 | {"time_local":"24/Sep/2024:23:57:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dedf491ae5f863c8d788dd6be417be27"} device-1 | {"level":"info","message":"GET /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f? 200 18ms","method":"GET","requestID":"dedf491ae5f863c8d788dd6be417be27","responseTime":18,"status":200,"url":"/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI","level":"info","message":"auth send jwt","requestID":"89276769817142f3ad22c1fa19c72cf6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"89276769817142f3ad22c1fa19c72cf6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"89276769817142f3ad22c1fa19c72cf6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960197,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"89276769817142f3ad22c1fa19c72cf6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"89276769817142f3ad22c1fa19c72cf6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.400278467Z"}]},"request_id":"b8ca7be6-aab0-48d2-a56b-84666b0b99c4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.5875456} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"89276769817142f3ad22c1fa19c72cf6","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"89276769817142f3ad22c1fa19c72cf6"} gateway-1 | {"time_local":"24/Sep/2024:23:57:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89276769817142f3ad22c1fa19c72cf6"} device-1 | {"level":"info","message":"GET /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243? 200 15ms","method":"GET","requestID":"89276769817142f3ad22c1fa19c72cf6","responseTime":15,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI","level":"info","message":"auth send jwt","requestID":"867493df90ba02a100cdf52d3955fc92"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"867493df90ba02a100cdf52d3955fc92","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"867493df90ba02a100cdf52d3955fc92"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.193151,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"867493df90ba02a100cdf52d3955fc92","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"867493df90ba02a100cdf52d3955fc92","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Attempting to run experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Attempting to book experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Successfully booked experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b26403e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b2645200-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.108729,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b26403e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b26403e0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907525,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b2645200-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"b2645200-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.348781608Z"}]},"request_id":"68a64c1e-1a72-4ecb-b686-2e410be12d60","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.6586335} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b26403e0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b26403e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.400278467Z"}]},"request_id":"0384ff80-d401-47cb-bc6d-7a2210d139ec","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.6635756} device-1 | {"level":"info","message":"GET /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f? 200 18ms","method":"GET","requestID":"b26403e0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b2645200-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b2645200-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243? 200 19ms","method":"GET","requestID":"b2645200-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Setting up experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Successfully locked booking for experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Attempting to update booking for experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Successfully updated booking for experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Successfully set up experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b26e8b30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b26ed950-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b26f4e80-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Successfully running experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.32335,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b26e8b30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b26e8b30-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.792821,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b26ed950-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"b26ed950-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.400278467Z"}]},"request_id":"4b234b56-3449-44e2-89ff-6017fdd138e6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.734684} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.348781608Z"}]},"request_id":"7bd8ba09-4f30-4d8f-b017-ae99969c2cba","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.736111} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"b26ed950-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42526","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b26e8b30-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a13511f4-1ecd-4abd-8453-bea50bf1a06c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.740287} authorization-1 | {"client_addr":"127.0.0.1:42526","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.444955,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b26f4e80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","method":"POST","requestID":"b26f4e80-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b26ed950-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243? 200 29ms","method":"GET","requestID":"b26ed950-7ad0-11ef-9247-9909de679d1e","responseTime":29,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b26e8b30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f? 200 32ms","method":"GET","requestID":"b26e8b30-7ad0-11ef-9247-9909de679d1e","responseTime":32,"status":200,"url":"/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F46a99aa3-6ec4-4f43-b0f9-69e6c4673266#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F46a99aa3-6ec4-4f43-b0f9-69e6c4673266","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"ff734638-fb51-427e-ac05-2839f063bb77","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.7482946} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b26f4e80-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87692f67-92ef-4d07-8bfd-75b24473e268","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.7485163} device-1 | {"level":"info","message":"POST /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/signaling 200 29ms","method":"POST","requestID":"b26f4e80-7ad0-11ef-9247-9909de679d1e","responseTime":29,"status":200,"url":"/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b273e260-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"867493df90ba02a100cdf52d3955fc92","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b2745790-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3151d068-2281-4fd7-9600-8c16e553d2f1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.7574315} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.106802,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b273e260-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","object_type":"device","rebac_allow":false,"scope_allow":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":"b273e260-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"867493df90ba02a100cdf52d3955fc92"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4add4285-29a3-4397-ac00-a0ac5c3a6b09","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.7598734} gateway-1 | {"time_local":"24/Sep/2024:23:57:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1292","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"867493df90ba02a100cdf52d3955fc92"} experiment-1 | {"level":"info","message":"POST /experiments? 201 158ms","method":"POST","requestID":"867493df90ba02a100cdf52d3955fc92","responseTime":158,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.880326,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b2745790-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","object_type":"device","rebac_allow":false,"scope_allow":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":"b2745790-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b273e260-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/signaling 200 14ms","method":"POST","requestID":"b273e260-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI","level":"info","message":"auth send jwt","requestID":"54f35dd17653cdeefadad16d3b094b63"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"54f35dd17653cdeefadad16d3b094b63","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b2745790-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/signaling 200 13ms","method":"POST","requestID":"b2745790-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b2767a70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"54f35dd17653cdeefadad16d3b094b63"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.256806,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.341544,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"54f35dd17653cdeefadad16d3b094b63","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"54f35dd17653cdeefadad16d3b094b63","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af267d94-6678-464b-abcf-8640293c5837","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.7737863} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b2767a70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"b2767a70-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b2767a70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/signaling 200 16ms","method":"POST","requestID":"b2767a70-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.348781608Z"}]},"request_id":"e5ab8b2b-a1ab-4f00-87da-0ef53310e8e6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.7843983} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"54f35dd17653cdeefadad16d3b094b63","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b27960a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b279aec0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933369,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b27960a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b27960a0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.034074,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b279aec0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b279aec0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"54f35dd17653cdeefadad16d3b094b63"} gateway-1 | {"time_local":"24/Sep/2024:23:57:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54f35dd17653cdeefadad16d3b094b63"} device-1 | {"level":"info","message":"GET /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f? 200 29ms","method":"GET","requestID":"54f35dd17653cdeefadad16d3b094b63","responseTime":29,"status":200,"url":"/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI","level":"info","message":"auth send jwt","requestID":"a8a1131d9ebd12ad6421d76bc00cc4f7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a8a1131d9ebd12ad6421d76bc00cc4f7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a8a1131d9ebd12ad6421d76bc00cc4f7"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.348781608Z"}]},"request_id":"904e7e98-7b9c-4061-bc46-c5d07d67b125","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.8036022} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b27960a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.400278467Z"}]},"request_id":"9225e1d4-c3a9-47ff-a1b4-85fbf4c75af8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.8046665} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b27960a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b279aec0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f? 200 21ms","method":"GET","requestID":"b27960a0-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934659,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a8a1131d9ebd12ad6421d76bc00cc4f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a8a1131d9ebd12ad6421d76bc00cc4f7","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b279aec0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243? 200 22ms","method":"GET","requestID":"b279aec0-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Building connection plan","requestID":"867493df90ba02a100cdf52d3955fc92"} 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":"6e6f344d-302e-4876-98f8-a0d63e59108f"},{"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":"fc985d1f-a456-4002-8d58-171bcfb5ae56"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"3bda2a3d-e737-44ce-8970-65dcc3e03d9a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"867493df90ba02a100cdf52d3955fc92"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"867493df90ba02a100cdf52d3955fc92"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:01.400278467Z"}]},"request_id":"cf2fec80-efca-4216-b948-c5083f7bd044","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.8115911} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a8a1131d9ebd12ad6421d76bc00cc4f7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b27da660-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a8a1131d9ebd12ad6421d76bc00cc4f7"} device-1 | {"level":"info","message":"GET /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243? 200 12ms","method":"GET","requestID":"a8a1131d9ebd12ad6421d76bc00cc4f7","responseTime":12,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8a1131d9ebd12ad6421d76bc00cc4f7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.027338,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b27da660-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222223,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyM30.u3LAD1amrX5PL4gyCU-2YVTS1wo3-QApPo7c7Q0-MjI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b27da660-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"7aa4e35c-9638-4249-aca9-422bd3717271","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.825941} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cdfe07c5-01c1-4a01-844f-f51a64c5cc66","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.8262014} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"b27da660-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b27da660-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b27da660-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8'","requestID":"b27da660-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8'","requestID":"b27da660-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b27da660-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 24ms","method":"POST","requestID":"b27da660-7ad0-11ef-9247-9909de679d1e","responseTime":24,"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":"b27da660-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"867493df90ba02a100cdf52d3955fc92"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b2854780-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac18b1f9-bd19-45d6-9d0e-91acc05ed98f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.8678374} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.066814,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b2854780-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","object_type":"device","rebac_allow":false,"scope_allow":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":"b2854780-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b2854780-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/signaling 200 7ms","method":"POST","requestID":"b2854780-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b286a710-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2cddca7-337b-4d5e-a7e4-ce2bdb9dc123","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222223.8777554} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.33871,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b286a710-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b286a710-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b286a710-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/signaling 200 9ms","method":"POST","requestID":"b286a710-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/signaling"} device-1 | {"device":"4e3f9aad-96c8-457a-b93b-97c2998dc243","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"4e3f9aad-96c8-457a-b93b-97c2998dc243","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 2780957433251147688 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:44G5\r\na=ice-pwd:R3g2eZvp+lgyITFABmOV4JAN\r\na=ice-options:trickle\r\na=fingerprint:sha-256 7C:45:51:34:6C:C2:48:E7:4D:79:32:BD:F1:87:BB:05:F9:8E:8B:F4:1E:FB:C8:C2:DA:5D:A7:6B:34:D3:CD:D5\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"4e3f9aad-96c8-457a-b93b-97c2998dc243","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"4e3f9aad-96c8-457a-b93b-97c2998dc243","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"d8d5f019-5c31-4c18-aea9-26911d4b562f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"1bd20a68-94ce-4d95-a594-d9f8da2187e8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d8d5f019-5c31-4c18-aea9-26911d4b562f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d8d5f019-5c31-4c18-aea9-26911d4b562f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d8d5f019-5c31-4c18-aea9-26911d4b562f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d8d5f019-5c31-4c18-aea9-26911d4b562f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/1bd20a68-94ce-4d95-a594-d9f8da2187e8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1bd20a68-94ce-4d95-a594-d9f8da2187e8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"51afff6eb1e9695d2fddc517aafaab21","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"51afff6eb1e9695d2fddc517aafaab21","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8"}}},"level":"info","message":"received a callback","requestID":"51afff6eb1e9695d2fddc517aafaab21"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"51afff6eb1e9695d2fddc517aafaab21"} device-1 | {"content":{"candidate":"candidate:1033411204 1 udp 2113937151 3366b2e3-14df-48bd-93c1-e295665fddc7.local 46906 typ host generation 0 ufrag 44G5 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4e3f9aad-96c8-457a-b93b-97c2998dc243","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"51afff6eb1e9695d2fddc517aafaab21","responseTime":12,"status":200,"url":"/callbacks/experiment"} device-1 | {"content":{"candidate":"candidate:3115708667 1 udp 1677729535 141.24.211.56 46906 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 44G5 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4e3f9aad-96c8-457a-b93b-97c2998dc243","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3937947504 1 udp 33562623 141.24.210.113 57347 typ relay raddr 141.24.211.56 rport 46906 generation 0 ufrag 44G5 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4e3f9aad-96c8-457a-b93b-97c2998dc243","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"4e3f9aad-96c8-457a-b93b-97c2998dc243","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243'"} device-1 | {"data":{"peerconnection":"1bd20a68-94ce-4d95-a594-d9f8da2187e8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d8d5f019-5c31-4c18-aea9-26911d4b562f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4e3f9aad-96c8-457a-b93b-97c2998dc243","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"1bd20a68-94ce-4d95-a594-d9f8da2187e8","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d8d5f019-5c31-4c18-aea9-26911d4b562f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/1bd20a68-94ce-4d95-a594-d9f8da2187e8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1bd20a68-94ce-4d95-a594-d9f8da2187e8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b099686910a0dd407ffdc44115a3aa5d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b099686910a0dd407ffdc44115a3aa5d","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8"}}},"level":"info","message":"received a callback","requestID":"b099686910a0dd407ffdc44115a3aa5d"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b3c84ed0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:05Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1bd20a68-94ce-4d95-a594-d9f8da2187e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b51c8d1a-876b-4bde-b58d-419c2da39a65","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222225.9879556} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.019031,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b3c84ed0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"b3c84ed0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b3c84ed0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8 200 12ms","method":"GET","requestID":"b3c84ed0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"b099686910a0dd407ffdc44115a3aa5d","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"b099686910a0dd407ffdc44115a3aa5d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3cd57e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0569a61-4407-4d3b-8461-34253dc558f8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.0210884} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.790381,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b3cd57e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","object_type":"device","rebac_allow":false,"scope_allow":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":"b3cd57e0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3cd57e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/signaling 200 13ms","method":"POST","requestID":"b3cd57e0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3cfa1d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8592a2b7-163f-4ba5-80a6-1b91e23c169d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.0362575} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.281499,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b3cfa1d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","object_type":"device","rebac_allow":false,"scope_allow":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":"b3cfa1d0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3cfa1d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/signaling 200 13ms","method":"POST","requestID":"b3cfa1d0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE","level":"info","message":"auth send jwt","requestID":"b71df6c535d28b92acee838274a894ff"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b71df6c535d28b92acee838274a894ff","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266","requestID":"b71df6c535d28b92acee838274a894ff"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.176529,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b71df6c535d28b92acee838274a894ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b71df6c535d28b92acee838274a894ff","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266","requestID":"b71df6c535d28b92acee838274a894ff"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266 HTTP/1.1","status": "200","body_bytes_sent":"1365","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b71df6c535d28b92acee838274a894ff"} experiment-1 | {"level":"info","message":"GET /experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266 200 16ms","method":"GET","requestID":"b71df6c535d28b92acee838274a894ff","responseTime":16,"status":200,"url":"/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE","level":"info","message":"auth send jwt","requestID":"6ba1cb9269070c8dd9bafda1a9f3ec6b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6ba1cb9269070c8dd9bafda1a9f3ec6b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266","requestID":"6ba1cb9269070c8dd9bafda1a9f3ec6b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.822264,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6ba1cb9269070c8dd9bafda1a9f3ec6b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6ba1cb9269070c8dd9bafda1a9f3ec6b","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Attempting to finish experiment","requestID":"6ba1cb9269070c8dd9bafda1a9f3ec6b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b3dcc130-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.337988,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b3dcc130-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b3dcc130-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8","device":"4e3f9aad-96c8-457a-b93b-97c2998dc243","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"d8d5f019-5c31-4c18-aea9-26911d4b562f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d8d5f019-5c31-4c18-aea9-26911d4b562f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d8d5f019-5c31-4c18-aea9-26911d4b562f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/1bd20a68-94ce-4d95-a594-d9f8da2187e8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1bd20a68-94ce-4d95-a594-d9f8da2187e8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1bd20a68-94ce-4d95-a594-d9f8da2187e8': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1bd20a68-94ce-4d95-a594-d9f8da2187e8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"7eab3123-419b-4f9f-adde-61107722a2bf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.1427891} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c5186c4face50f3ba78487f7eec31e83","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c5186c4face50f3ba78487f7eec31e83","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0206812d-b026-4487-a8b8-d35b9f734cfc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.1432683} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"043e0456bfb8d62bd9df87e976a6cc44","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8"}}},"level":"info","message":"received a callback","requestID":"c5186c4face50f3ba78487f7eec31e83"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"043e0456bfb8d62bd9df87e976a6cc44","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"b3dcc130-7ad0-11ef-9247-9909de679d1e","responseTime":15,"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8"}}},"level":"info","message":"received a callback","requestID":"043e0456bfb8d62bd9df87e976a6cc44"} device-1 | {"data":{"peerconnection":"1bd20a68-94ce-4d95-a594-d9f8da2187e8","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b3dcc130-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8 204 52ms","method":"DELETE","requestID":"b3dcc130-7ad0-11ef-9247-9909de679d1e","responseTime":52,"status":204,"url":"/peerconnections/1bd20a68-94ce-4d95-a594-d9f8da2187e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"},"level":"info","message":"Successfully finished experiment","requestID":"6ba1cb9269070c8dd9bafda1a9f3ec6b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3e80bd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8d5f019-5c31-4c18-aea9-26911d4b562f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8535af41-bc57-404f-a90b-2b72386839d9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.1964605} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.821787,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b3e80bd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f","object_type":"device","rebac_allow":false,"scope_allow":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":"b3e80bd0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3e80bd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/signaling 200 14ms","method":"POST","requestID":"b3e80bd0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/d8d5f019-5c31-4c18-aea9-26911d4b562f/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F46a99aa3-6ec4-4f43-b0f9-69e6c4673266': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F46a99aa3-6ec4-4f43-b0f9-69e6c4673266","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"9177deb6-bcfe-47a1-bed7-d7842898d8e1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.204009} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34b78747-f671-43ba-bee9-ecc77d5964ce","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.2042542} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3ea7cd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"6ba1cb9269070c8dd9bafda1a9f3ec6b","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e3f9aad-96c8-457a-b93b-97c2998dc243","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"08c4c8b1-9b9d-4924-a1fd-c538bf847394","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.209833} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.147284,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b3ea7cd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243","object_type":"device","rebac_allow":false,"scope_allow":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":"b3ea7cd0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3ea7cd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/signaling 200 10ms","method":"POST","requestID":"b3ea7cd0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/4e3f9aad-96c8-457a-b93b-97c2998dc243/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266","requestID":"6ba1cb9269070c8dd9bafda1a9f3ec6b"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ba1cb9269070c8dd9bafda1a9f3ec6b"} experiment-1 | {"level":"info","message":"DELETE /experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266 204 165ms","method":"DELETE","requestID":"6ba1cb9269070c8dd9bafda1a9f3ec6b","responseTime":165,"status":204,"url":"/experiments/46a99aa3-6ec4-4f43-b0f9-69e6c4673266"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3664","request_time":"4.322","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"bf58375ae13388fdcbcc8cee30cdde0d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"c5186c4face50f3ba78487f7eec31e83","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"c5186c4face50f3ba78487f7eec31e83"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"043e0456bfb8d62bd9df87e976a6cc44","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"043e0456bfb8d62bd9df87e976a6cc44"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE","level":"info","message":"auth send jwt","requestID":"3481d4d0ea3c53adb31d9ed6e5f2b9c6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3481d4d0ea3c53adb31d9ed6e5f2b9c6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3481d4d0ea3c53adb31d9ed6e5f2b9c6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3125","request_time":"2.816","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d65e2677719d1ba904ba48d46efda29c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.901883,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3481d4d0ea3c53adb31d9ed6e5f2b9c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3481d4d0ea3c53adb31d9ed6e5f2b9c6","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/d8d5f019-5c31-4c18-aea9-26911d4b562f' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5198f505-bd94-474b-b7f7-7bb1c9973715","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.2922072} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3481d4d0ea3c53adb31d9ed6e5f2b9c6","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/4e3f9aad-96c8-457a-b93b-97c2998dc243' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"281b9fd7-6782-40fb-88fb-c6cbbd58f238","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.2982454} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"3481d4d0ea3c53adb31d9ed6e5f2b9c6","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"ed7910b5-8147-4cef-98b6-58af2061ca00","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.3081129} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"afd301f7-a2c2-4ead-84cd-28799a5d63fc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.3082685} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"3481d4d0ea3c53adb31d9ed6e5f2b9c6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.308080571Z"}]},"request_id":"c53c0fa2-5c79-4595-8fea-461066ae865b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.312232} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3481d4d0ea3c53adb31d9ed6e5f2b9c6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3481d4d0ea3c53adb31d9ed6e5f2b9c6"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3481d4d0ea3c53adb31d9ed6e5f2b9c6"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"3481d4d0ea3c53adb31d9ed6e5f2b9c6","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE","level":"info","message":"auth send jwt","requestID":"a8ce7936af0bdb23d3e38caed8b79051"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a8ce7936af0bdb23d3e38caed8b79051","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a8ce7936af0bdb23d3e38caed8b79051"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.780673,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a8ce7936af0bdb23d3e38caed8b79051","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a8ce7936af0bdb23d3e38caed8b79051","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c06eade8-7de3-40c1-bf03-2948a987df77","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.342228} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a8ce7936af0bdb23d3e38caed8b79051","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9c68fd9-db07-4eae-89dc-248fa47300bc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.3470428} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a8ce7936af0bdb23d3e38caed8b79051","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"e2220888-bc08-4294-b9ee-0178036b2f40","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.3576682} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5cc48330-f865-47f9-b42b-fe13be0c352b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.3579502} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"a8ce7936af0bdb23d3e38caed8b79051","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.357636307Z"}]},"request_id":"6e7df9e9-ae66-4881-9073-96b856a84aad","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.3619845} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a8ce7936af0bdb23d3e38caed8b79051","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a8ce7936af0bdb23d3e38caed8b79051"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"a8ce7936af0bdb23d3e38caed8b79051","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8ce7936af0bdb23d3e38caed8b79051"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE","level":"info","message":"auth send jwt","requestID":"24c8f2338fb6104cc43eb820152efe1d"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"24c8f2338fb6104cc43eb820152efe1d","responseTime":7,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE","level":"info","message":"auth send jwt","requestID":"f7e25028f0efa5d78bfdbe6a9f578607"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f7e25028f0efa5d78bfdbe6a9f578607","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"24c8f2338fb6104cc43eb820152efe1d"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f7e25028f0efa5d78bfdbe6a9f578607"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.847183,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"24c8f2338fb6104cc43eb820152efe1d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"24c8f2338fb6104cc43eb820152efe1d","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.782899,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f7e25028f0efa5d78bfdbe6a9f578607","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f7e25028f0efa5d78bfdbe6a9f578607","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.357636307Z"}]},"request_id":"679b15a5-ea02-487a-a0ba-955e62a3f599","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.842298} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"24c8f2338fb6104cc43eb820152efe1d","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.308080571Z"}]},"request_id":"cd2a3cb4-37d7-4eba-8d57-a266645a9864","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.8434994} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f7e25028f0efa5d78bfdbe6a9f578607","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76e2cea0-35c1-46cf-aed6-913963b02b09","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.848784} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"24c8f2338fb6104cc43eb820152efe1d","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f55f9420-e1d1-45ad-b2f8-04ea0fc7729a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.8511698} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f7e25028f0efa5d78bfdbe6a9f578607","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.308080571Z"}]},"request_id":"2d2405df-3f68-4faa-aebb-89f7d9a7b020","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.855722} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f7e25028f0efa5d78bfdbe6a9f578607","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f7e25028f0efa5d78bfdbe6a9f578607"} device-1 | {"level":"info","message":"PATCH /devices/01eceffd-12c2-4be9-a224-bafe3d048c76 200 27ms","method":"PATCH","requestID":"f7e25028f0efa5d78bfdbe6a9f578607","responseTime":27,"status":200,"url":"/devices/01eceffd-12c2-4be9-a224-bafe3d048c76"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/01eceffd-12c2-4be9-a224-bafe3d048c76 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"f7e25028f0efa5d78bfdbe6a9f578607"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE","level":"info","message":"auth send jwt","requestID":"17022fdb5c6214badd4a97490b53c27f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"17022fdb5c6214badd4a97490b53c27f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"17022fdb5c6214badd4a97490b53c27f"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.357636307Z"}]},"request_id":"fc58abf6-428b-47d5-9d75-e9764b2c8cde","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.8652122} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"24c8f2338fb6104cc43eb820152efe1d","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756179,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"24c8f2338fb6104cc43eb820152efe1d"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"17022fdb5c6214badd4a97490b53c27f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} device-1 | {"level":"info","message":"PATCH /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb 200 40ms","method":"PATCH","requestID":"24c8f2338fb6104cc43eb820152efe1d","responseTime":40,"status":200,"url":"/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"24c8f2338fb6104cc43eb820152efe1d"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"17022fdb5c6214badd4a97490b53c27f","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE","level":"info","message":"auth send jwt","requestID":"93925661d3822dd48f87b2632a0b52e4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"93925661d3822dd48f87b2632a0b52e4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"93925661d3822dd48f87b2632a0b52e4"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672526,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"93925661d3822dd48f87b2632a0b52e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"93925661d3822dd48f87b2632a0b52e4","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"17022fdb5c6214badd4a97490b53c27f"} device-1 | {"level":"info","message":"POST /devices/01eceffd-12c2-4be9-a224-bafe3d048c76/websocket 200 16ms","method":"POST","requestID":"17022fdb5c6214badd4a97490b53c27f","responseTime":16,"status":200,"url":"/devices/01eceffd-12c2-4be9-a224-bafe3d048c76/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/01eceffd-12c2-4be9-a224-bafe3d048c76/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"17022fdb5c6214badd4a97490b53c27f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"93925661d3822dd48f87b2632a0b52e4"} device-1 | {"level":"info","message":"POST /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/websocket 200 14ms","method":"POST","requestID":"93925661d3822dd48f87b2632a0b52e4","responseTime":14,"status":200,"url":"/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"93925661d3822dd48f87b2632a0b52e4"} device-1 | {"level":"info","message":"device 'http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE","level":"info","message":"auth send jwt","requestID":"9ed341cfbfc77a45cbdfc3242ceff7df"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ed341cfbfc77a45cbdfc3242ceff7df","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ed341cfbfc77a45cbdfc3242ceff7df"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96778,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9ed341cfbfc77a45cbdfc3242ceff7df","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9ed341cfbfc77a45cbdfc3242ceff7df","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.308080571Z"}]},"request_id":"5f8a23aa-8e6c-44f5-a196-f474023242f3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.9245443} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9ed341cfbfc77a45cbdfc3242ceff7df","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ed341cfbfc77a45cbdfc3242ceff7df"} device-1 | {"level":"info","message":"GET /devices/01eceffd-12c2-4be9-a224-bafe3d048c76? 200 14ms","method":"GET","requestID":"9ed341cfbfc77a45cbdfc3242ceff7df","responseTime":14,"status":200,"url":"/devices/01eceffd-12c2-4be9-a224-bafe3d048c76?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01eceffd-12c2-4be9-a224-bafe3d048c76? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ed341cfbfc77a45cbdfc3242ceff7df"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE","level":"info","message":"auth send jwt","requestID":"11d76cc94a8e4af158f7bd7275abf3d1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"11d76cc94a8e4af158f7bd7275abf3d1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"11d76cc94a8e4af158f7bd7275abf3d1"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.997318,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"11d76cc94a8e4af158f7bd7275abf3d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"11d76cc94a8e4af158f7bd7275abf3d1","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.357636307Z"}]},"request_id":"31d689c7-ae2d-473f-81a0-c933aa541634","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222226.9471312} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"11d76cc94a8e4af158f7bd7275abf3d1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"11d76cc94a8e4af158f7bd7275abf3d1"} device-1 | {"level":"info","message":"GET /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb? 200 18ms","method":"GET","requestID":"11d76cc94a8e4af158f7bd7275abf3d1","responseTime":18,"status":200,"url":"/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11d76cc94a8e4af158f7bd7275abf3d1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE","level":"info","message":"auth send jwt","requestID":"fe31f24718787a144e806bd4f17190bb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fe31f24718787a144e806bd4f17190bb","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"fe31f24718787a144e806bd4f17190bb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.196088,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"fe31f24718787a144e806bd4f17190bb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe31f24718787a144e806bd4f17190bb","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Attempting to run experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Attempting to book experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Successfully booked experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b46419a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b46467c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.106189,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b46419a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b46419a0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.729403,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b46467c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b46467c0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.308080571Z"}]},"request_id":"f3d65fc1-6708-42b2-975e-8c5e22d7c348","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.0178041} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"b46419a0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.357636307Z"}]},"request_id":"3bc4a3c5-ed0c-4d03-ae55-2651bddccd1f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.0193884} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b46467c0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b46419a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/01eceffd-12c2-4be9-a224-bafe3d048c76? 200 24ms","method":"GET","requestID":"b46419a0-7ad0-11ef-9247-9909de679d1e","responseTime":24,"status":200,"url":"/devices/01eceffd-12c2-4be9-a224-bafe3d048c76?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b46467c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb? 200 23ms","method":"GET","requestID":"b46467c0-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Setting up experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Successfully locked booking for experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Attempting to update booking for experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Successfully updated booking for experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Successfully set up experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b4709cc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b470eae0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b4716010-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Successfully running experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7772,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b4709cc0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b4709cc0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734645,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"client_addr":"127.0.0.1:42526","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b470eae0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"b470eae0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42526","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.750092,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be4c8879-b4ae-4501-8a39-6ec466f51aa4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.0987225} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b4716010-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","object_type":"device","rebac_allow":false,"scope_allow":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":"b4716010-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.308080571Z"}]},"request_id":"77696f51-50e7-44ba-ad2b-56b53daff35c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.1010761} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.357636307Z"}]},"request_id":"6da05530-1c28-44ee-ad31-4f3204a1d9dd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.103287} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b4709cc0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b470eae0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b4716010-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/01eceffd-12c2-4be9-a224-bafe3d048c76/signaling 200 18ms","method":"POST","requestID":"b4716010-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/01eceffd-12c2-4be9-a224-bafe3d048c76/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b4709cc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/01eceffd-12c2-4be9-a224-bafe3d048c76? 200 25ms","method":"GET","requestID":"b4709cc0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":200,"url":"/devices/01eceffd-12c2-4be9-a224-bafe3d048c76?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b470eae0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb? 200 25ms","method":"GET","requestID":"b470eae0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":200,"url":"/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b474e280-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b47530a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.604545,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b929b859-237f-4f78-ae47-a7775068f9a5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.1184797} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F83e456a2-cfa4-46fd-a35e-6f3ab9e3d458#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F83e456a2-cfa4-46fd-a35e-6f3ab9e3d458","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"eb933bd0-79e9-4a69-bc75-ba3d972d599f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.1186602} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2e5c15a-ee68-4b92-9326-62a8baac893e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.118949} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b474e280-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","object_type":"device","rebac_allow":false,"scope_allow":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":"b474e280-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"fe31f24718787a144e806bd4f17190bb","responseTime":26,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.933828,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df5e826f-88ce-4430-90b7-c893708ed07e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.1221223} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b47530a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","object_type":"device","rebac_allow":false,"scope_allow":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":"b47530a0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b474e280-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/signaling 200 15ms","method":"POST","requestID":"b474e280-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b47530a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/01eceffd-12c2-4be9-a224-bafe3d048c76/signaling 200 15ms","method":"POST","requestID":"b47530a0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/01eceffd-12c2-4be9-a224-bafe3d048c76/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"fe31f24718787a144e806bd4f17190bb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b477c8b0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 172ms","method":"POST","requestID":"fe31f24718787a144e806bd4f17190bb","responseTime":172,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1296","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe31f24718787a144e806bd4f17190bb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyN30.QyVfcJ_5aFBtPxgO1vOT53XEIbfPiBpRVxDHQhlRd-w","level":"info","message":"auth send jwt","requestID":"6f7078a308da122b872d4e0bf88b3c1f"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba1db766-6200-41ab-a98c-00374e70e61a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.1359494} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f7078a308da122b872d4e0bf88b3c1f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.340554,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6f7078a308da122b872d4e0bf88b3c1f"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b477c8b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","object_type":"device","rebac_allow":false,"scope_allow":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":"b477c8b0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916859,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b477c8b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/signaling 200 9ms","method":"POST","requestID":"b477c8b0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6f7078a308da122b872d4e0bf88b3c1f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222227,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyN30.QyVfcJ_5aFBtPxgO1vOT53XEIbfPiBpRVxDHQhlRd-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6f7078a308da122b872d4e0bf88b3c1f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b4797660-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b4799d70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.308080571Z"}]},"request_id":"dbc3a1e7-3e9b-4aad-9617-b661af6e5479","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.1451087} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.614355,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6f7078a308da122b872d4e0bf88b3c1f","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b4797660-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b4797660-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.057961,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b4799d70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b4799d70-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6f7078a308da122b872d4e0bf88b3c1f"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.308080571Z"}]},"request_id":"3594dde9-0df3-419e-8c9e-9958279263c4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.152795} device-1 | {"level":"info","message":"GET /devices/01eceffd-12c2-4be9-a224-bafe3d048c76? 200 16ms","method":"GET","requestID":"6f7078a308da122b872d4e0bf88b3c1f","responseTime":16,"status":200,"url":"/devices/01eceffd-12c2-4be9-a224-bafe3d048c76?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b4797660-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"24/Sep/2024:23:57:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01eceffd-12c2-4be9-a224-bafe3d048c76? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f7078a308da122b872d4e0bf88b3c1f"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.357636307Z"}]},"request_id":"0419cf7c-13a7-4975-9e4e-b8106a5883f8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.1541684} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b4799d70-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b4797660-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/01eceffd-12c2-4be9-a224-bafe3d048c76? 200 16ms","method":"GET","requestID":"b4797660-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/01eceffd-12c2-4be9-a224-bafe3d048c76?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyN30.QyVfcJ_5aFBtPxgO1vOT53XEIbfPiBpRVxDHQhlRd-w","level":"info","message":"auth send jwt","requestID":"7bf83c4e933b2df5c9de8e6d66a4fd32"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7bf83c4e933b2df5c9de8e6d66a4fd32","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b4799d70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb? 200 17ms","method":"GET","requestID":"b4799d70-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7bf83c4e933b2df5c9de8e6d66a4fd32"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Building connection plan","requestID":"fe31f24718787a144e806bd4f17190bb"} 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":"1b7707fd-3894-4fd8-90fc-aa3222c6c5a2"},{"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":"910b3a14-2e0a-4445-a3cc-69dc2f2bb6de"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"4b7262ce-45c3-4442-9216-643e86a52ef2"}]},"level":"info","message":"Built pairwise service configurations","requestID":"fe31f24718787a144e806bd4f17190bb"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"fe31f24718787a144e806bd4f17190bb"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b47c83a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692279,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7bf83c4e933b2df5c9de8e6d66a4fd32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222227,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyN30.QyVfcJ_5aFBtPxgO1vOT53XEIbfPiBpRVxDHQhlRd-w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7bf83c4e933b2df5c9de8e6d66a4fd32","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.61624,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b47c83a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222226,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyNn0.KqHZF27W6GU4QgWOdPnzaqVELiyPuQ7IptFadSk8BKE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b47c83a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:06.357636307Z"}]},"request_id":"b61bddff-e9f4-4168-bba0-5a4f02d42ed3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.1691144} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7bf83c4e933b2df5c9de8e6d66a4fd32","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7bf83c4e933b2df5c9de8e6d66a4fd32"} device-1 | {"level":"info","message":"GET /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb? 200 12ms","method":"GET","requestID":"7bf83c4e933b2df5c9de8e6d66a4fd32","responseTime":12,"status":200,"url":"/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bf83c4e933b2df5c9de8e6d66a4fd32"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"8c9446a7-72ce-43c3-9a0f-b5c4882f4b88","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.174584} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b38d537-68b9-42d3-a559-5f1dda892d7e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.174876} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b47c83a0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b47c83a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b47c83a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc'","requestID":"b47c83a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc'","requestID":"b47c83a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b47c83a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"b47c83a0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"b47c83a0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"fe31f24718787a144e806bd4f17190bb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b4844bd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01eb73fa-4ab2-4903-8692-75b7668ff14d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.21803} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.565085,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b4844bd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b4844bd0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b4844bd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/01eceffd-12c2-4be9-a224-bafe3d048c76/signaling 200 8ms","method":"POST","requestID":"b4844bd0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/01eceffd-12c2-4be9-a224-bafe3d048c76/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b485d270-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f2a286c-ca9d-4051-b3d7-02b35bb0b0e9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222227.2280903} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.908648,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b485d270-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b485d270-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b485d270-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/signaling 200 9ms","method":"POST","requestID":"b485d270-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/signaling"} device-1 | {"device":"01eceffd-12c2-4be9-a224-bafe3d048c76","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"29dbcff5-9760-4641-8877-774fe9836bcc","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"34c6278c-31e0-42d0-9f3b-554b563fcebb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"29dbcff5-9760-4641-8877-774fe9836bcc","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"34c6278c-31e0-42d0-9f3b-554b563fcebb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"34c6278c-31e0-42d0-9f3b-554b563fcebb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"34c6278c-31e0-42d0-9f3b-554b563fcebb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"34c6278c-31e0-42d0-9f3b-554b563fcebb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/29dbcff5-9760-4641-8877-774fe9836bcc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"29dbcff5-9760-4641-8877-774fe9836bcc","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"52ff9f91f955e7297408c52a3e7fea02","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"52ff9f91f955e7297408c52a3e7fea02","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc"}}},"level":"info","message":"received a callback","requestID":"52ff9f91f955e7297408c52a3e7fea02"} device-1 | {"device":"01eceffd-12c2-4be9-a224-bafe3d048c76","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01eceffd-12c2-4be9-a224-bafe3d048c76","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01eceffd-12c2-4be9-a224-bafe3d048c76","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"52ff9f91f955e7297408c52a3e7fea02","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"52ff9f91f955e7297408c52a3e7fea02"} device-1 | {"data":{"peerconnection":"29dbcff5-9760-4641-8877-774fe9836bcc","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"34c6278c-31e0-42d0-9f3b-554b563fcebb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01eceffd-12c2-4be9-a224-bafe3d048c76","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"34c6278c-31e0-42d0-9f3b-554b563fcebb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01eceffd-12c2-4be9-a224-bafe3d048c76","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"29dbcff5-9760-4641-8877-774fe9836bcc","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/29dbcff5-9760-4641-8877-774fe9836bcc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"29dbcff5-9760-4641-8877-774fe9836bcc","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f5eeb3352dc7f7f5ca472817c021a567","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f5eeb3352dc7f7f5ca472817c021a567","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc"}}},"level":"info","message":"received a callback","requestID":"f5eeb3352dc7f7f5ca472817c021a567"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b5c1fbf0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F29dbcff5-9760-4641-8877-774fe9836bcc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfd76cc5-7f83-46ed-9fda-1f2c89ea2617","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.3024757} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.77446,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b5c1fbf0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"b5c1fbf0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b5c1fbf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc 200 13ms","method":"GET","requestID":"b5c1fbf0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"f5eeb3352dc7f7f5ca472817c021a567","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"f5eeb3352dc7f7f5ca472817c021a567"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b5c86490-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03f1cbde-a89c-471b-8424-edc6a25ae940","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.3441584} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.809728,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b5c86490-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","object_type":"device","rebac_allow":false,"scope_allow":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":"b5c86490-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b5c86490-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/signaling 200 13ms","method":"POST","requestID":"b5c86490-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b5cafca0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c9284a8-63be-4a93-94df-aa3a3b82e56f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.3613384} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.663275,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b5cafca0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","object_type":"device","rebac_allow":false,"scope_allow":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":"b5cafca0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b5cafca0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/01eceffd-12c2-4be9-a224-bafe3d048c76/signaling 200 15ms","method":"POST","requestID":"b5cafca0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/01eceffd-12c2-4be9-a224-bafe3d048c76/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyOX0.tyr1OkpYHkCoQcbXbgeIIBtSWZWSJizux0MmMz1XxsU","level":"info","message":"auth send jwt","requestID":"092180130223996e035e8ad49c7234ce"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"092180130223996e035e8ad49c7234ce","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458","requestID":"092180130223996e035e8ad49c7234ce"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.1797,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"092180130223996e035e8ad49c7234ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222229,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyOX0.tyr1OkpYHkCoQcbXbgeIIBtSWZWSJizux0MmMz1XxsU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"092180130223996e035e8ad49c7234ce","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458","requestID":"092180130223996e035e8ad49c7234ce"} gateway-1 | {"time_local":"24/Sep/2024:23:57:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458 HTTP/1.1","status": "200","body_bytes_sent":"1369","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"092180130223996e035e8ad49c7234ce"} experiment-1 | {"level":"info","message":"GET /experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458 200 15ms","method":"GET","requestID":"092180130223996e035e8ad49c7234ce","responseTime":15,"status":200,"url":"/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyOX0.tyr1OkpYHkCoQcbXbgeIIBtSWZWSJizux0MmMz1XxsU","level":"info","message":"auth send jwt","requestID":"b346705ead7cc9f6c9be625db564d3d7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b346705ead7cc9f6c9be625db564d3d7","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458","requestID":"b346705ead7cc9f6c9be625db564d3d7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.199112,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b346705ead7cc9f6c9be625db564d3d7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222229,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyOX0.tyr1OkpYHkCoQcbXbgeIIBtSWZWSJizux0MmMz1XxsU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b346705ead7cc9f6c9be625db564d3d7","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Attempting to finish experiment","requestID":"b346705ead7cc9f6c9be625db564d3d7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b5d5d210-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.246349,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b5d5d210-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222229,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyOX0.tyr1OkpYHkCoQcbXbgeIIBtSWZWSJizux0MmMz1XxsU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b5d5d210-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"34c6278c-31e0-42d0-9f3b-554b563fcebb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"34c6278c-31e0-42d0-9f3b-554b563fcebb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"34c6278c-31e0-42d0-9f3b-554b563fcebb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01eceffd-12c2-4be9-a224-bafe3d048c76","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01eceffd-12c2-4be9-a224-bafe3d048c76","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01eceffd-12c2-4be9-a224-bafe3d048c76","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/29dbcff5-9760-4641-8877-774fe9836bcc' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"29dbcff5-9760-4641-8877-774fe9836bcc","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F29dbcff5-9760-4641-8877-774fe9836bcc': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F29dbcff5-9760-4641-8877-774fe9836bcc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"4177c4fd-b9a9-40da-99c6-7026e1ed25af","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.450736} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb95dfca-2e86-4b53-853c-3b08b864a479","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.451206} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5cc9d7571d61ab87820d0b2b68d7fc15","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5cc9d7571d61ab87820d0b2b68d7fc15","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"b5d5d210-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"511a9124d3f4e05569b447acce50f65b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc"}}},"level":"info","message":"received a callback","requestID":"5cc9d7571d61ab87820d0b2b68d7fc15"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"511a9124d3f4e05569b447acce50f65b","responseTime":3,"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc"}}},"level":"info","message":"received a callback","requestID":"511a9124d3f4e05569b447acce50f65b"} device-1 | {"data":{"peerconnection":"29dbcff5-9760-4641-8877-774fe9836bcc","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b5d5d210-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc 204 52ms","method":"DELETE","requestID":"b5d5d210-7ad0-11ef-9247-9909de679d1e","responseTime":52,"status":204,"url":"/peerconnections/29dbcff5-9760-4641-8877-774fe9836bcc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"},"level":"info","message":"Successfully finished experiment","requestID":"b346705ead7cc9f6c9be625db564d3d7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b5e08070-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34c6278c-31e0-42d0-9f3b-554b563fcebb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1ee1eb5-e86c-4aa2-8540-3aeb1c923222","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.502621} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.340237,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b5e08070-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb","object_type":"device","rebac_allow":false,"scope_allow":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":"b5e08070-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b5e08070-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/signaling 200 12ms","method":"POST","requestID":"b5e08070-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/34c6278c-31e0-42d0-9f3b-554b563fcebb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b5e2f170-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F83e456a2-cfa4-46fd-a35e-6f3ab9e3d458': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F83e456a2-cfa4-46fd-a35e-6f3ab9e3d458","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"7412b1f1-3cb7-4cc1-a10c-78146f0515a7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.5116487} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a09dfe1d-2d46-4f2e-a1ae-d6715201996f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.5119493} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"b346705ead7cc9f6c9be625db564d3d7","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01eceffd-12c2-4be9-a224-bafe3d048c76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"676f5f1f-c8a4-4d64-b4d1-bb40b709c028","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.5173137} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.727737,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b5e2f170-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b5e2f170-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b5e2f170-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/01eceffd-12c2-4be9-a224-bafe3d048c76/signaling 200 13ms","method":"POST","requestID":"b5e2f170-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/01eceffd-12c2-4be9-a224-bafe3d048c76/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458","requestID":"b346705ead7cc9f6c9be625db564d3d7"} gateway-1 | {"time_local":"24/Sep/2024:23:57:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b346705ead7cc9f6c9be625db564d3d7"} gateway-1 | {"time_local":"24/Sep/2024:23:57:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3130","request_time":"2.690","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"c4663ee0daff5f94cbed8942f2763b2f"} gateway-1 | {"time_local":"24/Sep/2024:23:57:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3132","request_time":"2.698","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"d8a6710376d384bdbaa82a70c2342831"} experiment-1 | {"level":"info","message":"DELETE /experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458 204 170ms","method":"DELETE","requestID":"b346705ead7cc9f6c9be625db564d3d7","responseTime":170,"status":204,"url":"/experiments/83e456a2-cfa4-46fd-a35e-6f3ab9e3d458"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"5cc9d7571d61ab87820d0b2b68d7fc15"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"5cc9d7571d61ab87820d0b2b68d7fc15","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"511a9124d3f4e05569b447acce50f65b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyOX0.tyr1OkpYHkCoQcbXbgeIIBtSWZWSJizux0MmMz1XxsU","level":"info","message":"auth send jwt","requestID":"e359a51f880582d5c965e60e805050e3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e359a51f880582d5c965e60e805050e3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"511a9124d3f4e05569b447acce50f65b","responseTime":126,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"e359a51f880582d5c965e60e805050e3"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/01eceffd-12c2-4be9-a224-bafe3d048c76' closed"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.082156,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e359a51f880582d5c965e60e805050e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222229,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyOX0.tyr1OkpYHkCoQcbXbgeIIBtSWZWSJizux0MmMz1XxsU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e359a51f880582d5c965e60e805050e3","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/34c6278c-31e0-42d0-9f3b-554b563fcebb' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0b99b708-29e7-4ac4-b1bd-b03c2ff07370","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.6121616} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e359a51f880582d5c965e60e805050e3","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59292b89-b459-460b-803b-2a6341087163","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.6184137} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e359a51f880582d5c965e60e805050e3","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"80406597-8102-473f-b4b2-9300fa3dd68c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.6291113} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c7c9a63-8dbf-4909-9c1e-46a5d1f88ef8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.6293736} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"e359a51f880582d5c965e60e805050e3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.629082167Z"}]},"request_id":"6448f73e-d0d0-4e71-a253-b1c2be61d3d2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.6348283} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e359a51f880582d5c965e60e805050e3","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e359a51f880582d5c965e60e805050e3"} gateway-1 | {"time_local":"24/Sep/2024:23:57:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e359a51f880582d5c965e60e805050e3"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"e359a51f880582d5c965e60e805050e3","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyOX0.tyr1OkpYHkCoQcbXbgeIIBtSWZWSJizux0MmMz1XxsU","level":"info","message":"auth send jwt","requestID":"7687ce1f07653ade53c5c3126373923a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7687ce1f07653ade53c5c3126373923a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7687ce1f07653ade53c5c3126373923a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.90923,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7687ce1f07653ade53c5c3126373923a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222229,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIyOX0.tyr1OkpYHkCoQcbXbgeIIBtSWZWSJizux0MmMz1XxsU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7687ce1f07653ade53c5c3126373923a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8a87f072-d189-4db2-9c53-04d0c7175402","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.6651492} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7687ce1f07653ade53c5c3126373923a","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2469cce2-5c78-439e-bc60-38a09797d113","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.6703856} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7687ce1f07653ade53c5c3126373923a","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"3758e893-ef21-45e0-b535-af6382775dbe","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.6815667} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e14c4b34-8def-4e55-b310-c53b39babb05","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.681661} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"7687ce1f07653ade53c5c3126373923a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.681537676Z"}]},"request_id":"cdae43b7-ca07-4a3d-a609-69d3bfead688","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222229.6865423} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7687ce1f07653ade53c5c3126373923a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7687ce1f07653ade53c5c3126373923a"} gateway-1 | {"time_local":"24/Sep/2024:23:57:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7687ce1f07653ade53c5c3126373923a"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"7687ce1f07653ade53c5c3126373923a","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU","level":"info","message":"auth send jwt","requestID":"d526c275d284f718bede337fa3d739f2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d526c275d284f718bede337fa3d739f2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d526c275d284f718bede337fa3d739f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU","level":"info","message":"auth send jwt","requestID":"f10773903e63f6f1d356e91c25847823"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f10773903e63f6f1d356e91c25847823","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68377,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f10773903e63f6f1d356e91c25847823"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d526c275d284f718bede337fa3d739f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d526c275d284f718bede337fa3d739f2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642685,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f10773903e63f6f1d356e91c25847823","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f10773903e63f6f1d356e91c25847823","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.629082167Z"}]},"request_id":"646c7ed6-dff4-47bb-80dc-9f0816a83838","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.1568584} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d526c275d284f718bede337fa3d739f2","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.681537676Z"}]},"request_id":"661017ad-66ff-464c-b3af-4a84546a5eb6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.1590874} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f10773903e63f6f1d356e91c25847823","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc8641c5-d4d3-4853-bb6f-1903c06ee69b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.1609602} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d526c275d284f718bede337fa3d739f2","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e16306f-bde3-4f19-9d4e-30572a89fa4f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.164615} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f10773903e63f6f1d356e91c25847823","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.629082167Z"}]},"request_id":"141e51c7-4633-4e62-b326-9e04767d5c72","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.1714132} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d526c275d284f718bede337fa3d739f2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d526c275d284f718bede337fa3d739f2"} gateway-1 | {"time_local":"24/Sep/2024:23:57:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/205deb07-db75-4d00-aa3f-e817a9247edb HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"d526c275d284f718bede337fa3d739f2"} device-1 | {"level":"info","message":"PATCH /devices/205deb07-db75-4d00-aa3f-e817a9247edb 200 25ms","method":"PATCH","requestID":"d526c275d284f718bede337fa3d739f2","responseTime":25,"status":200,"url":"/devices/205deb07-db75-4d00-aa3f-e817a9247edb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU","level":"info","message":"auth send jwt","requestID":"8f481a47f31bf3d12fae0e597e163d59"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8f481a47f31bf3d12fae0e597e163d59","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8f481a47f31bf3d12fae0e597e163d59"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.681537676Z"}]},"request_id":"da8df399-592f-46cd-b1d7-72f101baf835","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.1818352} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f10773903e63f6f1d356e91c25847823","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.617252,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f10773903e63f6f1d356e91c25847823"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8f481a47f31bf3d12fae0e597e163d59","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8f481a47f31bf3d12fae0e597e163d59","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:57:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1ad6f112-750b-4488-8550-929c76a86e37 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"f10773903e63f6f1d356e91c25847823"} device-1 | {"level":"info","message":"PATCH /devices/1ad6f112-750b-4488-8550-929c76a86e37 200 33ms","method":"PATCH","requestID":"f10773903e63f6f1d356e91c25847823","responseTime":33,"status":200,"url":"/devices/1ad6f112-750b-4488-8550-929c76a86e37"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU","level":"info","message":"auth send jwt","requestID":"01d2482db891cc35d1b38bf681c4bd56"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"01d2482db891cc35d1b38bf681c4bd56","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"01d2482db891cc35d1b38bf681c4bd56"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700358,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8f481a47f31bf3d12fae0e597e163d59"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"01d2482db891cc35d1b38bf681c4bd56","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"01d2482db891cc35d1b38bf681c4bd56","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/205deb07-db75-4d00-aa3f-e817a9247edb/websocket 200 13ms","method":"POST","requestID":"8f481a47f31bf3d12fae0e597e163d59","responseTime":13,"status":200,"url":"/devices/205deb07-db75-4d00-aa3f-e817a9247edb/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/205deb07-db75-4d00-aa3f-e817a9247edb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"8f481a47f31bf3d12fae0e597e163d59"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"01d2482db891cc35d1b38bf681c4bd56"} device-1 | {"level":"info","message":"POST /devices/1ad6f112-750b-4488-8550-929c76a86e37/websocket 200 17ms","method":"POST","requestID":"01d2482db891cc35d1b38bf681c4bd56","responseTime":17,"status":200,"url":"/devices/1ad6f112-750b-4488-8550-929c76a86e37/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1ad6f112-750b-4488-8550-929c76a86e37/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"01d2482db891cc35d1b38bf681c4bd56"} device-1 | {"level":"info","message":"device 'http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU","level":"info","message":"auth send jwt","requestID":"1a94c9c544e2a7a3b4906f168bcc6086"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1a94c9c544e2a7a3b4906f168bcc6086","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1a94c9c544e2a7a3b4906f168bcc6086"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626805,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1a94c9c544e2a7a3b4906f168bcc6086","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1a94c9c544e2a7a3b4906f168bcc6086","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.629082167Z"}]},"request_id":"ad07cae4-cb55-499e-83a3-46bf804eac05","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.245256} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1a94c9c544e2a7a3b4906f168bcc6086","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1a94c9c544e2a7a3b4906f168bcc6086"} gateway-1 | {"time_local":"24/Sep/2024:23:57:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/205deb07-db75-4d00-aa3f-e817a9247edb? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a94c9c544e2a7a3b4906f168bcc6086"} device-1 | {"level":"info","message":"GET /devices/205deb07-db75-4d00-aa3f-e817a9247edb? 200 15ms","method":"GET","requestID":"1a94c9c544e2a7a3b4906f168bcc6086","responseTime":15,"status":200,"url":"/devices/205deb07-db75-4d00-aa3f-e817a9247edb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU","level":"info","message":"auth send jwt","requestID":"57dd0941379a7fa7cd0b4ce058b58510"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"57dd0941379a7fa7cd0b4ce058b58510","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"57dd0941379a7fa7cd0b4ce058b58510"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127122,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"57dd0941379a7fa7cd0b4ce058b58510","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"57dd0941379a7fa7cd0b4ce058b58510","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.681537676Z"}]},"request_id":"eb2c9712-6d02-405c-95c3-ef240eab8af1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.2664816} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"57dd0941379a7fa7cd0b4ce058b58510","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"57dd0941379a7fa7cd0b4ce058b58510"} gateway-1 | {"time_local":"24/Sep/2024:23:57:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1ad6f112-750b-4488-8550-929c76a86e37? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57dd0941379a7fa7cd0b4ce058b58510"} device-1 | {"level":"info","message":"GET /devices/1ad6f112-750b-4488-8550-929c76a86e37? 200 14ms","method":"GET","requestID":"57dd0941379a7fa7cd0b4ce058b58510","responseTime":14,"status":200,"url":"/devices/1ad6f112-750b-4488-8550-929c76a86e37?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU","level":"info","message":"auth send jwt","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dea5b7521c312f865b170a7ef5cd3ff2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.142515,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dea5b7521c312f865b170a7ef5cd3ff2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dea5b7521c312f865b170a7ef5cd3ff2","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Attempting to run experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Attempting to book experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Successfully booked experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b65d78a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b65dc6c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.570432,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b65d78a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b65d78a0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.766282,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b65dc6c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b65dc6c0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.629082167Z"}]},"request_id":"5b3a2706-0605-448c-aeab-83c593434903","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.3255687} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b65d78a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.681537676Z"}]},"request_id":"0b0d4b54-de55-4e15-81ad-9adb8bff53c9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.3270617} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b65dc6c0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b65d78a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/205deb07-db75-4d00-aa3f-e817a9247edb? 200 20ms","method":"GET","requestID":"b65d78a0-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/205deb07-db75-4d00-aa3f-e817a9247edb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b65dc6c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/1ad6f112-750b-4488-8550-929c76a86e37? 200 19ms","method":"GET","requestID":"b65dc6c0-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/1ad6f112-750b-4488-8550-929c76a86e37?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Setting up experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Successfully set up experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b667b1d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b667fff0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6687520-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.354742,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Successfully running experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b667b1d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b667b1d0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778483,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b667fff0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"b667fff0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.703403,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"949dc041-b516-4c66-9c24-d8f9a860c9fb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.3948462} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b6687520-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","object_type":"device","rebac_allow":false,"scope_allow":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":"b6687520-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.681537676Z"}]},"request_id":"4bd32336-b2e9-47a8-8e42-82e0212dd048","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.3986428} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6687520-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/205deb07-db75-4d00-aa3f-e817a9247edb/signaling 200 17ms","method":"POST","requestID":"b6687520-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/205deb07-db75-4d00-aa3f-e817a9247edb/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"b667fff0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.629082167Z"}]},"request_id":"4be084f9-879f-45ad-ad82-5a46fb89b298","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.4025466} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b667b1d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b66b5b50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b667fff0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/1ad6f112-750b-4488-8550-929c76a86e37? 200 25ms","method":"GET","requestID":"b667fff0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":200,"url":"/devices/1ad6f112-750b-4488-8550-929c76a86e37?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b667b1d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/205deb07-db75-4d00-aa3f-e817a9247edb? 200 28ms","method":"GET","requestID":"b667b1d0-7ad0-11ef-9247-9909de679d1e","responseTime":28,"status":200,"url":"/devices/205deb07-db75-4d00-aa3f-e817a9247edb?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b66c45b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d84e78b-4e31-42f1-8c20-8ac2e637173d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.41043} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.158624,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b66b5b50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","object_type":"device","rebac_allow":false,"scope_allow":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":"b66b5b50-7ad0-11ef-9247-9909de679d1e","responseTime":7,"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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01658ed5-0dec-421f-aa31-e03a2b074f5d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.412813} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6734d2ee-b593-43e4-9077-72b25201672e#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6734d2ee-b593-43e4-9077-72b25201672e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"87567668-26ce-4745-9f97-52986635fcb5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.4131622} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b66b5b50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1ad6f112-750b-4488-8550-929c76a86e37/signaling 200 12ms","method":"POST","requestID":"b66b5b50-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/1ad6f112-750b-4488-8550-929c76a86e37/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"dea5b7521c312f865b170a7ef5cd3ff2","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ee6567d-5a40-47a8-98ef-5b80ba025ad4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.4185746} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.980142,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b66c45b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","object_type":"device","rebac_allow":false,"scope_allow":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":"b66c45b0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b66c45b0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} device-1 | {"level":"info","message":"POST /devices/205deb07-db75-4d00-aa3f-e817a9247edb/signaling 200 11ms","method":"POST","requestID":"b66c45b0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/205deb07-db75-4d00-aa3f-e817a9247edb/signaling"} gateway-1 | {"time_local":"24/Sep/2024:23:57:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1296","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 145ms","method":"POST","requestID":"dea5b7521c312f865b170a7ef5cd3ff2","responseTime":145,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b66e6890-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU","level":"info","message":"auth send jwt","requestID":"23b98bedd76020b09e649a6937c24ef9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"23b98bedd76020b09e649a6937c24ef9","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"23b98bedd76020b09e649a6937c24ef9"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f05ec27-29a5-42a4-b5ab-7574275a6aa2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.4303775} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.791904,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":854,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b66e6890-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","object_type":"device","rebac_allow":false,"scope_allow":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":"b66e6890-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":854,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65814,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"23b98bedd76020b09e649a6937c24ef9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"23b98bedd76020b09e649a6937c24ef9","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b66e6890-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1ad6f112-750b-4488-8550-929c76a86e37/signaling 200 10ms","method":"POST","requestID":"b66e6890-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/1ad6f112-750b-4488-8550-929c76a86e37/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.629082167Z"}]},"request_id":"fbbe23d0-7ad4-4be1-adef-7c096c950c79","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.436078} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"23b98bedd76020b09e649a6937c24ef9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6706460-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6708b70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"23b98bedd76020b09e649a6937c24ef9"} gateway-1 | {"time_local":"24/Sep/2024:23:57:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/205deb07-db75-4d00-aa3f-e817a9247edb? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23b98bedd76020b09e649a6937c24ef9"} device-1 | {"level":"info","message":"GET /devices/205deb07-db75-4d00-aa3f-e817a9247edb? 200 13ms","method":"GET","requestID":"23b98bedd76020b09e649a6937c24ef9","responseTime":13,"status":200,"url":"/devices/205deb07-db75-4d00-aa3f-e817a9247edb?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":855,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":855,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762424,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Received request.","req_id":856,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b6706460-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b6706460-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU","level":"info","message":"auth send jwt","requestID":"bb57fc086dd8b3d061e5981c66eeed48"} authorization-1 | {"client_addr":"127.0.0.1:42524","level":"info","msg":"Sent response.","req_id":856,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.243554,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bb57fc086dd8b3d061e5981c66eeed48","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bb57fc086dd8b3d061e5981c66eeed48"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b6708b70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b6708b70-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.629082167Z"}]},"request_id":"62037e3f-ffee-4533-9680-56681add7196","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.4486895} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b6706460-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":857,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":857,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63077,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb57fc086dd8b3d061e5981c66eeed48","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bb57fc086dd8b3d061e5981c66eeed48","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.681537676Z"}]},"request_id":"c255121a-a86b-4838-948c-adfa54256659","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.4511316} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b6708b70-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6706460-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:09.681537676Z"}]},"request_id":"08508644-54f8-4658-a41e-dfeae6212ca8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.4561007} device-1 | {"level":"info","message":"GET /devices/205deb07-db75-4d00-aa3f-e817a9247edb? 200 18ms","method":"GET","requestID":"b6706460-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/205deb07-db75-4d00-aa3f-e817a9247edb?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bb57fc086dd8b3d061e5981c66eeed48","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6708b70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/1ad6f112-750b-4488-8550-929c76a86e37? 200 20ms","method":"GET","requestID":"b6708b70-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/1ad6f112-750b-4488-8550-929c76a86e37?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bb57fc086dd8b3d061e5981c66eeed48"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Building connection plan","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} 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":"8993e7bc-2589-49a2-99e9-6d459888050e"},{"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":"6a3fcd81-4709-47e5-a6bd-aedad7302341"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"ca01b423-3b52-476a-86aa-dcea0a09f067"}]},"level":"info","message":"Built pairwise service configurations","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} gateway-1 | {"time_local":"24/Sep/2024:23:57:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1ad6f112-750b-4488-8550-929c76a86e37? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb57fc086dd8b3d061e5981c66eeed48"} device-1 | {"level":"info","message":"GET /devices/1ad6f112-750b-4488-8550-929c76a86e37? 200 14ms","method":"GET","requestID":"bb57fc086dd8b3d061e5981c66eeed48","responseTime":14,"status":200,"url":"/devices/1ad6f112-750b-4488-8550-929c76a86e37?"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b6740de0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":858,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":858,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.781292,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b6740de0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222230,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMH0.Iw5vG3lkwMewgoh-zG6mUiLSPXdTSpzSjbiUyyBT0OU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b6740de0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"ee770492-7689-44f1-a51e-537bc16bf11a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.472503} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ca76264-1a00-4695-86cf-e6ffb5f74840","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.4726915} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b6740de0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b6740de0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b6740de0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0'","requestID":"b6740de0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0'","requestID":"b6740de0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b6740de0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 22ms","method":"POST","requestID":"b6740de0-7ad0-11ef-9247-9909de679d1e","responseTime":22,"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":"b6740de0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"dea5b7521c312f865b170a7ef5cd3ff2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b67b60e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":859,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c66cac47-dc7a-4f2c-b5f1-fb633d51e71d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.5146036} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":859,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.448643,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b67b60e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b67b60e0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b67b60e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/205deb07-db75-4d00-aa3f-e817a9247edb/signaling 200 8ms","method":"POST","requestID":"b67b60e0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/205deb07-db75-4d00-aa3f-e817a9247edb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b67d0e90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":860,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9cb48a8-187b-48f9-a2d8-1ac92c385d46","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222230.5254428} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":860,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.298167,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b67d0e90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b67d0e90-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b67d0e90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1ad6f112-750b-4488-8550-929c76a86e37/signaling 200 8ms","method":"POST","requestID":"b67d0e90-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/1ad6f112-750b-4488-8550-929c76a86e37/signaling"} device-1 | {"device":"205deb07-db75-4d00-aa3f-e817a9247edb","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"1509a524-f495-4ac0-82c8-9afcbe3dcff0","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1ad6f112-750b-4488-8550-929c76a86e37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"1509a524-f495-4ac0-82c8-9afcbe3dcff0","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1ad6f112-750b-4488-8550-929c76a86e37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1ad6f112-750b-4488-8550-929c76a86e37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1ad6f112-750b-4488-8550-929c76a86e37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1ad6f112-750b-4488-8550-929c76a86e37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/1509a524-f495-4ac0-82c8-9afcbe3dcff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1509a524-f495-4ac0-82c8-9afcbe3dcff0","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2bc1f0ead928586a601343e96a8fbdc8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2bc1f0ead928586a601343e96a8fbdc8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0"}}},"level":"info","message":"received a callback","requestID":"2bc1f0ead928586a601343e96a8fbdc8"} device-1 | {"device":"205deb07-db75-4d00-aa3f-e817a9247edb","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"205deb07-db75-4d00-aa3f-e817a9247edb","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"205deb07-db75-4d00-aa3f-e817a9247edb","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.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 10ms","method":"POST","requestID":"2bc1f0ead928586a601343e96a8fbdc8","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"2bc1f0ead928586a601343e96a8fbdc8"} device-1 | {"device":"1ad6f112-750b-4488-8550-929c76a86e37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"1509a524-f495-4ac0-82c8-9afcbe3dcff0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"205deb07-db75-4d00-aa3f-e817a9247edb","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1ad6f112-750b-4488-8550-929c76a86e37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"205deb07-db75-4d00-aa3f-e817a9247edb","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"1509a524-f495-4ac0-82c8-9afcbe3dcff0","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/1509a524-f495-4ac0-82c8-9afcbe3dcff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1509a524-f495-4ac0-82c8-9afcbe3dcff0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5c7e42ed381a76200e1537903300c3d9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5c7e42ed381a76200e1537903300c3d9","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0"}}},"level":"info","message":"received a callback","requestID":"5c7e42ed381a76200e1537903300c3d9"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b7ba7090-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":861,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1509a524-f495-4ac0-82c8-9afcbe3dcff0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53cb881f-7577-4a64-b3fb-d7fd565dca26","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.608576} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":861,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.85065,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b7ba7090-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"b7ba7090-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b7ba7090-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0 200 14ms","method":"GET","requestID":"b7ba7090-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"5c7e42ed381a76200e1537903300c3d9","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"5c7e42ed381a76200e1537903300c3d9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b7c08b10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":862,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2943a6fc-c3ef-41a1-95e3-1e30b3185fea","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.6475012} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":862,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.828179,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b7c08b10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","object_type":"device","rebac_allow":false,"scope_allow":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":"b7c08b10-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b7c08b10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1ad6f112-750b-4488-8550-929c76a86e37/signaling 200 13ms","method":"POST","requestID":"b7c08b10-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/1ad6f112-750b-4488-8550-929c76a86e37/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b7c2fc10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":863,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19cb70c3-4271-453a-958d-e43d690c1807","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.664923} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":863,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.989713,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b7c2fc10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","object_type":"device","rebac_allow":false,"scope_allow":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":"b7c2fc10-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b7c2fc10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/205deb07-db75-4d00-aa3f-e817a9247edb/signaling 200 15ms","method":"POST","requestID":"b7c2fc10-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/205deb07-db75-4d00-aa3f-e817a9247edb/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMn0.-uaihdHoi9H_WTjhF3xAYoo41823QHB0eG1PMFcLbn8","level":"info","message":"auth send jwt","requestID":"e4f02b0bdc654fcb9f7d3988032553a3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e4f02b0bdc654fcb9f7d3988032553a3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6734d2ee-b593-43e4-9077-72b25201672e","requestID":"e4f02b0bdc654fcb9f7d3988032553a3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":864,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":864,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.199994,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e4f02b0bdc654fcb9f7d3988032553a3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222232,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMn0.-uaihdHoi9H_WTjhF3xAYoo41823QHB0eG1PMFcLbn8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e4f02b0bdc654fcb9f7d3988032553a3","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/6734d2ee-b593-43e4-9077-72b25201672e","requestID":"e4f02b0bdc654fcb9f7d3988032553a3"} gateway-1 | {"time_local":"24/Sep/2024:23:57:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6734d2ee-b593-43e4-9077-72b25201672e HTTP/1.1","status": "200","body_bytes_sent":"1369","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4f02b0bdc654fcb9f7d3988032553a3"} experiment-1 | {"level":"info","message":"GET /experiments/6734d2ee-b593-43e4-9077-72b25201672e 200 15ms","method":"GET","requestID":"e4f02b0bdc654fcb9f7d3988032553a3","responseTime":15,"status":200,"url":"/experiments/6734d2ee-b593-43e4-9077-72b25201672e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMn0.-uaihdHoi9H_WTjhF3xAYoo41823QHB0eG1PMFcLbn8","level":"info","message":"auth send jwt","requestID":"a0619aa49919f7298bd83c8845ba7eef"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0619aa49919f7298bd83c8845ba7eef","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6734d2ee-b593-43e4-9077-72b25201672e","requestID":"a0619aa49919f7298bd83c8845ba7eef"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":865,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":865,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.295056,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a0619aa49919f7298bd83c8845ba7eef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222232,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMn0.-uaihdHoi9H_WTjhF3xAYoo41823QHB0eG1PMFcLbn8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a0619aa49919f7298bd83c8845ba7eef","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Attempting to finish experiment","requestID":"a0619aa49919f7298bd83c8845ba7eef"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b7ce1fa0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":866,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":866,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.997223,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b7ce1fa0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222232,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMn0.-uaihdHoi9H_WTjhF3xAYoo41823QHB0eG1PMFcLbn8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b7ce1fa0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"205deb07-db75-4d00-aa3f-e817a9247edb","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"205deb07-db75-4d00-aa3f-e817a9247edb","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"205deb07-db75-4d00-aa3f-e817a9247edb","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1ad6f112-750b-4488-8550-929c76a86e37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1ad6f112-750b-4488-8550-929c76a86e37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1ad6f112-750b-4488-8550-929c76a86e37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/1509a524-f495-4ac0-82c8-9afcbe3dcff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1509a524-f495-4ac0-82c8-9afcbe3dcff0","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1509a524-f495-4ac0-82c8-9afcbe3dcff0': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1509a524-f495-4ac0-82c8-9afcbe3dcff0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"85a870ba-610a-42ce-b49f-7c0073ae923f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.755528} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"56205b09ea8b4c03669b85d5ca46c4f7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"56205b09ea8b4c03669b85d5ca46c4f7","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ab8fcc7-547d-47ad-9544-1026a59634d3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.7563186} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b6458a434ea2e904e2da6701e4a9085f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0"}}},"level":"info","message":"received a callback","requestID":"56205b09ea8b4c03669b85d5ca46c4f7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b6458a434ea2e904e2da6701e4a9085f","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"b7ce1fa0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/relations/update"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0"}}},"level":"info","message":"received a callback","requestID":"b6458a434ea2e904e2da6701e4a9085f"} device-1 | {"data":{"peerconnection":"1509a524-f495-4ac0-82c8-9afcbe3dcff0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b7ce1fa0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0 204 49ms","method":"DELETE","requestID":"b7ce1fa0-7ad0-11ef-9247-9909de679d1e","responseTime":49,"status":204,"url":"/peerconnections/1509a524-f495-4ac0-82c8-9afcbe3dcff0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6734d2ee-b593-43e4-9077-72b25201672e"},"level":"info","message":"Successfully finished experiment","requestID":"a0619aa49919f7298bd83c8845ba7eef"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b7d8ce00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":867,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ad6f112-750b-4488-8550-929c76a86e37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b322e791-7daa-4292-ac73-9471c54b8ed7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.8081367} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":867,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.460022,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b7d8ce00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ad6f112-750b-4488-8550-929c76a86e37","object_type":"device","rebac_allow":false,"scope_allow":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":"b7d8ce00-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b7d8ce00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1ad6f112-750b-4488-8550-929c76a86e37/signaling 200 14ms","method":"POST","requestID":"b7d8ce00-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/1ad6f112-750b-4488-8550-929c76a86e37/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6734d2ee-b593-43e4-9077-72b25201672e': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6734d2ee-b593-43e4-9077-72b25201672e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"c1f9048c-7e5a-40c3-9b87-74bd3c258222","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.8149405} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dadf2773-d652-44c0-b115-16450de86346","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.8154712} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"a0619aa49919f7298bd83c8845ba7eef","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b7db6610-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":868,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F205deb07-db75-4d00-aa3f-e817a9247edb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4279f45-7e40-4976-954d-6b45f9a0e3c8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.82272} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":868,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.348103,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b7db6610-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb","object_type":"device","rebac_allow":false,"scope_allow":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":"b7db6610-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b7db6610-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/205deb07-db75-4d00-aa3f-e817a9247edb/signaling 200 12ms","method":"POST","requestID":"b7db6610-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/205deb07-db75-4d00-aa3f-e817a9247edb/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6734d2ee-b593-43e4-9077-72b25201672e","requestID":"a0619aa49919f7298bd83c8845ba7eef"} gateway-1 | {"time_local":"24/Sep/2024:23:57:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6734d2ee-b593-43e4-9077-72b25201672e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0619aa49919f7298bd83c8845ba7eef"} experiment-1 | {"level":"info","message":"DELETE /experiments/6734d2ee-b593-43e4-9077-72b25201672e 204 174ms","method":"DELETE","requestID":"a0619aa49919f7298bd83c8845ba7eef","responseTime":174,"status":204,"url":"/experiments/6734d2ee-b593-43e4-9077-72b25201672e"} gateway-1 | {"time_local":"24/Sep/2024:23:57:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3132","request_time":"2.693","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"3cdae8dbcbe812cd4c4718636f9be3ab"} gateway-1 | {"time_local":"24/Sep/2024:23:57:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3130","request_time":"2.680","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"f8728701afae575e31e557c8560daac2"} gateway-1 | {"time_local":"24/Sep/2024:23:57:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"56205b09ea8b4c03669b85d5ca46c4f7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"56205b09ea8b4c03669b85d5ca46c4f7","responseTime":132,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"b6458a434ea2e904e2da6701e4a9085f","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"b6458a434ea2e904e2da6701e4a9085f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMn0.-uaihdHoi9H_WTjhF3xAYoo41823QHB0eG1PMFcLbn8","level":"info","message":"auth send jwt","requestID":"b77ffa78d6bec83db35ec6e747fda5e8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b77ffa78d6bec83db35ec6e747fda5e8","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/1ad6f112-750b-4488-8550-929c76a86e37' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"b77ffa78d6bec83db35ec6e747fda5e8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":869,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":869,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.958197,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b77ffa78d6bec83db35ec6e747fda5e8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222232,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMn0.-uaihdHoi9H_WTjhF3xAYoo41823QHB0eG1PMFcLbn8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b77ffa78d6bec83db35ec6e747fda5e8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/205deb07-db75-4d00-aa3f-e817a9247edb' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"69281452-7799-4d12-b6fe-bdbc76f0ab95","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.9160583} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b77ffa78d6bec83db35ec6e747fda5e8","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d1c1629-84c9-4f7d-979c-d7f5561cd08d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.9215906} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b77ffa78d6bec83db35ec6e747fda5e8","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"8cc46372-9da3-4db4-b183-2549eaf2afbb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.9325747} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"630bfe89-2648-42b5-abf4-c330f008bb76","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.9328077} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"b77ffa78d6bec83db35ec6e747fda5e8","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.932545976Z"}]},"request_id":"124b5102-b6f8-469d-8583-f25b27f42709","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.93745} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b77ffa78d6bec83db35ec6e747fda5e8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b77ffa78d6bec83db35ec6e747fda5e8"} gateway-1 | {"time_local":"24/Sep/2024:23:57:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b77ffa78d6bec83db35ec6e747fda5e8"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"b77ffa78d6bec83db35ec6e747fda5e8","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMn0.-uaihdHoi9H_WTjhF3xAYoo41823QHB0eG1PMFcLbn8","level":"info","message":"auth send jwt","requestID":"95adc8eec2f432190b81954b04762887"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"95adc8eec2f432190b81954b04762887","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"95adc8eec2f432190b81954b04762887"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":870,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":870,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.723013,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"95adc8eec2f432190b81954b04762887","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222232,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzMn0.-uaihdHoi9H_WTjhF3xAYoo41823QHB0eG1PMFcLbn8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"95adc8eec2f432190b81954b04762887","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"97b7fd5e-6cc8-455d-8eb5-f8562250e734","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.9685366} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"95adc8eec2f432190b81954b04762887","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d3f9c34-5cd1-410b-ae2a-0000688da286","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.9739723} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"95adc8eec2f432190b81954b04762887","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"da40d71c-272e-4944-8d8f-02d21a79e3e6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.9854202} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"24680e98-7016-424b-b517-e2332ae8c5fc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.9857194} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"95adc8eec2f432190b81954b04762887","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.985393698Z"}]},"request_id":"0237a81e-b628-4582-8280-fcc7681d7ce0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222232.9903803} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"95adc8eec2f432190b81954b04762887","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"95adc8eec2f432190b81954b04762887"} gateway-1 | {"time_local":"24/Sep/2024:23:57:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95adc8eec2f432190b81954b04762887"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"95adc8eec2f432190b81954b04762887","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"937982fca88eb6933463f64f5df940eb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"937982fca88eb6933463f64f5df940eb","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/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":"937982fca88eb6933463f64f5df940eb"} device-1 | {"level":"info","message":"OPTIONS /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/websocket 200 1ms","method":"OPTIONS","requestID":"937982fca88eb6933463f64f5df940eb","responseTime":1,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNH0.ODcyE_07_rcm7IxFOJDn3PWJlqFUUrUSNRKoohgAIFs","level":"info","message":"auth send jwt","requestID":"25f8a730c2bb606f28af9d5af6cab1f8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"25f8a730c2bb606f28af9d5af6cab1f8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"25f8a730c2bb606f28af9d5af6cab1f8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":871,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":871,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.742444,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"25f8a730c2bb606f28af9d5af6cab1f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222234,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNH0.ODcyE_07_rcm7IxFOJDn3PWJlqFUUrUSNRKoohgAIFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"25f8a730c2bb606f28af9d5af6cab1f8","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4d5b9b81c99208a8b289fcd08982eb70","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4d5b9b81c99208a8b289fcd08982eb70","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"25f8a730c2bb606f28af9d5af6cab1f8"} device-1 | {"level":"info","message":"POST /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/websocket 200 23ms","method":"POST","requestID":"25f8a730c2bb606f28af9d5af6cab1f8","responseTime":23,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/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":"25f8a730c2bb606f28af9d5af6cab1f8"} gateway-1 | {"time_local":"24/Sep/2024:23:57:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8dc29e67-543a-4b5e-8c74-e7867c903256/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":"4d5b9b81c99208a8b289fcd08982eb70"} device-1 | {"level":"info","message":"OPTIONS /devices/8dc29e67-543a-4b5e-8c74-e7867c903256/websocket 200 1ms","method":"OPTIONS","requestID":"4d5b9b81c99208a8b289fcd08982eb70","responseTime":1,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNH0.ODcyE_07_rcm7IxFOJDn3PWJlqFUUrUSNRKoohgAIFs","level":"info","message":"auth send jwt","requestID":"79d3dbf58926bf33121cf6192db64333"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"79d3dbf58926bf33121cf6192db64333","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"79d3dbf58926bf33121cf6192db64333"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":872,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":872,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729312,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"79d3dbf58926bf33121cf6192db64333","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222234,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNH0.ODcyE_07_rcm7IxFOJDn3PWJlqFUUrUSNRKoohgAIFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"79d3dbf58926bf33121cf6192db64333","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"79d3dbf58926bf33121cf6192db64333"} device-1 | {"level":"info","message":"POST /devices/8dc29e67-543a-4b5e-8c74-e7867c903256/websocket 200 22ms","method":"POST","requestID":"79d3dbf58926bf33121cf6192db64333","responseTime":22,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8dc29e67-543a-4b5e-8c74-e7867c903256/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"79d3dbf58926bf33121cf6192db64333"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7a1ef5a32ff9410ea272dadabc62d7c5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"7a1ef5a32ff9410ea272dadabc62d7c5","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256' connected"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"7a1ef5a32ff9410ea272dadabc62d7c5"} device-1 | {"level":"info","message":"OPTIONS /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3? 200 1ms","method":"OPTIONS","requestID":"7a1ef5a32ff9410ea272dadabc62d7c5","responseTime":1,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg","level":"info","message":"auth send jwt","requestID":"097b6bcc6b0089efb2b19118558d65f5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"097b6bcc6b0089efb2b19118558d65f5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"097b6bcc6b0089efb2b19118558d65f5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":873,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":873,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.07575,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"097b6bcc6b0089efb2b19118558d65f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"097b6bcc6b0089efb2b19118558d65f5","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"99def8180e5508b998cab1cfc7f7d8e4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"99def8180e5508b998cab1cfc7f7d8e4","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8dc29e67-543a-4b5e-8c74-e7867c903256? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"99def8180e5508b998cab1cfc7f7d8e4"} device-1 | {"level":"info","message":"OPTIONS /devices/8dc29e67-543a-4b5e-8c74-e7867c903256? 200 1ms","method":"OPTIONS","requestID":"99def8180e5508b998cab1cfc7f7d8e4","responseTime":1,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.932545976Z"}]},"request_id":"e1d0dd59-d457-4206-9107-110f423f35a7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.0560381} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"097b6bcc6b0089efb2b19118558d65f5","responseTime":4,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg","level":"info","message":"auth send jwt","requestID":"c11d8ebecc5671bf2881c1298bdda1d9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c11d8ebecc5671bf2881c1298bdda1d9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c11d8ebecc5671bf2881c1298bdda1d9"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbbd71fa-dea4-4bbe-9382-ef950dfa6e05","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.0611148} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":874,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"097b6bcc6b0089efb2b19118558d65f5","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":874,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764519,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c11d8ebecc5671bf2881c1298bdda1d9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c11d8ebecc5671bf2881c1298bdda1d9","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.932545976Z"}]},"request_id":"b50396f5-4f20-463d-9362-30a9fabde10c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.0779507} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"097b6bcc6b0089efb2b19118558d65f5","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.985393698Z"}]},"request_id":"d1cb8acd-7fcf-4602-acff-000d26ee1ea4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.079419} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"097b6bcc6b0089efb2b19118558d65f5"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c11d8ebecc5671bf2881c1298bdda1d9","responseTime":3,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3? HTTP/1.1","status": "200","body_bytes_sent":"1007","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":"097b6bcc6b0089efb2b19118558d65f5"} device-1 | {"level":"info","message":"PATCH /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3? 200 37ms","method":"PATCH","requestID":"097b6bcc6b0089efb2b19118558d65f5","responseTime":37,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81f98d2e-d075-4d91-87b9-ac4ed108fd27","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.0857236} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c11d8ebecc5671bf2881c1298bdda1d9","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.985393698Z"}]},"request_id":"9562ffe0-6e44-45eb-ad55-a5fbfbe54eac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.095664} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c11d8ebecc5671bf2881c1298bdda1d9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c11d8ebecc5671bf2881c1298bdda1d9"} device-1 | {"level":"info","message":"PATCH /devices/8dc29e67-543a-4b5e-8c74-e7867c903256? 200 38ms","method":"PATCH","requestID":"c11d8ebecc5671bf2881c1298bdda1d9","responseTime":38,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8dc29e67-543a-4b5e-8c74-e7867c903256? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c11d8ebecc5671bf2881c1298bdda1d9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg","level":"info","message":"auth send jwt","requestID":"ff51b4651b64761042b0816ad60407a3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ff51b4651b64761042b0816ad60407a3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ff51b4651b64761042b0816ad60407a3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":875,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":875,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.225604,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ff51b4651b64761042b0816ad60407a3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ff51b4651b64761042b0816ad60407a3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.932545976Z"}]},"request_id":"fd11440b-9bde-4893-bdd5-5ff09c6db005","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.1163423} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ff51b4651b64761042b0816ad60407a3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ff51b4651b64761042b0816ad60407a3"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff51b4651b64761042b0816ad60407a3"} device-1 | {"level":"info","message":"GET /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3? 200 13ms","method":"GET","requestID":"ff51b4651b64761042b0816ad60407a3","responseTime":13,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg","level":"info","message":"auth send jwt","requestID":"5ed822f896b4eb11273b023d61843621"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ed822f896b4eb11273b023d61843621","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5ed822f896b4eb11273b023d61843621"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":876,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":876,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666561,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5ed822f896b4eb11273b023d61843621","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5ed822f896b4eb11273b023d61843621","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.985393698Z"}]},"request_id":"f6b82f92-2d1e-4dc3-813c-b40afa8ad59d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.1325448} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5ed822f896b4eb11273b023d61843621","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5ed822f896b4eb11273b023d61843621"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8dc29e67-543a-4b5e-8c74-e7867c903256? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ed822f896b4eb11273b023d61843621"} device-1 | {"level":"info","message":"GET /devices/8dc29e67-543a-4b5e-8c74-e7867c903256? 200 12ms","method":"GET","requestID":"5ed822f896b4eb11273b023d61843621","responseTime":12,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg","level":"info","message":"auth send jwt","requestID":"652d961fe077e5b9653029f663f6676e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"652d961fe077e5b9653029f663f6676e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"652d961fe077e5b9653029f663f6676e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":877,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":877,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.330473,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"652d961fe077e5b9653029f663f6676e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"652d961fe077e5b9653029f663f6676e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Attempting to run experiment","requestID":"652d961fe077e5b9653029f663f6676e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Attempting to book experiment","requestID":"652d961fe077e5b9653029f663f6676e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Successfully booked experiment","requestID":"652d961fe077e5b9653029f663f6676e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b9446bf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b9449300-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":878,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":878,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.145962,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b9446bf0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9446bf0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":879,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":879,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.002383,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b9449300-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b9449300-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.932545976Z"}]},"request_id":"e3db5aa6-a2bb-4a2c-b25b-4d592144230d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.1939883} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b9446bf0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.985393698Z"}]},"request_id":"a99b8a25-dc3c-4f09-b5be-465af537caaf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.1988883} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b9446bf0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b9449300-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3? 200 17ms","method":"GET","requestID":"b9446bf0-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b9449300-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/8dc29e67-543a-4b5e-8c74-e7867c903256? 200 19ms","method":"GET","requestID":"b9449300-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Setting up experiment","requestID":"652d961fe077e5b9653029f663f6676e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"652d961fe077e5b9653029f663f6676e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"652d961fe077e5b9653029f663f6676e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"652d961fe077e5b9653029f663f6676e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"652d961fe077e5b9653029f663f6676e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"652d961fe077e5b9653029f663f6676e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"652d961fe077e5b9653029f663f6676e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Successfully set up experiment","requestID":"652d961fe077e5b9653029f663f6676e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b94ea520-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b94ef340-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b94f4160-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Successfully running experiment","requestID":"652d961fe077e5b9653029f663f6676e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":880,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":880,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.392144,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b94ea520-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b94ea520-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":881,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":881,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.175946,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b94ef340-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"b94ef340-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Received request.","req_id":882,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.932545976Z"}]},"request_id":"97ebfa71-efed-4361-a996-b1c0e14bc914","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.267235} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0908cc66-f82c-4ae0-b667-e4a3760226c9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.268202} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"b94ea520-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.985393698Z"}]},"request_id":"aba079d6-6f69-459c-a583-9ca7c8bfae1a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.2694037} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Sent response.","req_id":882,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.169829,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b94f4160-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","object_type":"device","rebac_allow":false,"scope_allow":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":"b94f4160-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"b94ef340-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8e380a5f-e4f7-4242-92d4-1128ceaca88e#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8e380a5f-e4f7-4242-92d4-1128ceaca88e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"09f67ad8-fa26-42bc-8ec0-8d0b4cbd2978","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.2779503} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"373d9418-efc7-4d87-a0fe-b1cd948b7d69","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.2783966} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b94ea520-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3? 200 31ms","method":"GET","requestID":"b94ea520-7ad0-11ef-9247-9909de679d1e","responseTime":31,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"652d961fe077e5b9653029f663f6676e","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b94f4160-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/signaling 200 29ms","method":"POST","requestID":"b94f4160-7ad0-11ef-9247-9909de679d1e","responseTime":29,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b94ef340-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/8dc29e67-543a-4b5e-8c74-e7867c903256? 200 33ms","method":"GET","requestID":"b94ef340-7ad0-11ef-9247-9909de679d1e","responseTime":33,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9549890-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b95534d0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"652d961fe077e5b9653029f663f6676e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":883,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":884,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca9c9710-3340-4ffb-8b81-c2aa552f6724","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.2991128} experiment-1 | {"level":"info","message":"POST /experiments? 201 158ms","method":"POST","requestID":"652d961fe077e5b9653029f663f6676e","responseTime":158,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1288","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"652d961fe077e5b9653029f663f6676e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":883,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.805677,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b9549890-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","object_type":"device","rebac_allow":false,"scope_allow":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":"b9549890-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02dbbfb6-9a4f-4540-9eaf-6f9e6f913ac8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.3023574} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":884,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.442241,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b95534d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","object_type":"device","rebac_allow":false,"scope_allow":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":"b95534d0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg","level":"info","message":"auth send jwt","requestID":"310f219716b2d19eefba841c8627ee3e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"310f219716b2d19eefba841c8627ee3e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9549890-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8dc29e67-543a-4b5e-8c74-e7867c903256/signaling 200 19ms","method":"POST","requestID":"b9549890-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"310f219716b2d19eefba841c8627ee3e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b95534d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/signaling 200 19ms","method":"POST","requestID":"b95534d0-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":885,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":885,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.245826,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"310f219716b2d19eefba841c8627ee3e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9589030-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"310f219716b2d19eefba841c8627ee3e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":886,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.932545976Z"}]},"request_id":"94746c8c-6a54-493c-9b8e-49748dff26b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.3203287} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc097238-8833-4454-aeab-03b6ed3e7afa","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.3205} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"310f219716b2d19eefba841c8627ee3e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":886,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.078137,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b9589030-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9589030-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"310f219716b2d19eefba841c8627ee3e"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"310f219716b2d19eefba841c8627ee3e"} device-1 | {"level":"info","message":"GET /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3? 200 16ms","method":"GET","requestID":"310f219716b2d19eefba841c8627ee3e","responseTime":16,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9589030-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8dc29e67-543a-4b5e-8c74-e7867c903256/signaling 200 12ms","method":"POST","requestID":"b9589030-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"652d961fe077e5b9653029f663f6676e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b95ab310-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b95b0130-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg","level":"info","message":"auth send jwt","requestID":"4eb3c546363d04a9a5c43d8800ef4cb4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4eb3c546363d04a9a5c43d8800ef4cb4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4eb3c546363d04a9a5c43d8800ef4cb4"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":887,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":887,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.821611,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b95ab310-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b95ab310-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":888,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":888,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715562,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Received request.","req_id":889,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Sent response.","req_id":889,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680664,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b95b0130-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b95b0130-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4eb3c546363d04a9a5c43d8800ef4cb4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4eb3c546363d04a9a5c43d8800ef4cb4","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.932545976Z"}]},"request_id":"4b0d91d7-f389-410d-8e73-3c57f60a1009","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.3401206} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.985393698Z"}]},"request_id":"7a912223-274e-4019-9b30-ddeb71cce2fc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.3410215} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b95ab310-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b95b0130-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:12.985393698Z"}]},"request_id":"8f4899ed-44a4-45b7-b2dc-5c7eca729af1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.3420424} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4eb3c546363d04a9a5c43d8800ef4cb4","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b95ab310-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3? 200 19ms","method":"GET","requestID":"b95ab310-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b95b0130-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/8dc29e67-543a-4b5e-8c74-e7867c903256? 200 18ms","method":"GET","requestID":"b95b0130-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4eb3c546363d04a9a5c43d8800ef4cb4"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8dc29e67-543a-4b5e-8c74-e7867c903256? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4eb3c546363d04a9a5c43d8800ef4cb4"} device-1 | {"level":"info","message":"GET /devices/8dc29e67-543a-4b5e-8c74-e7867c903256? 200 18ms","method":"GET","requestID":"4eb3c546363d04a9a5c43d8800ef4cb4","responseTime":18,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Building connection plan","requestID":"652d961fe077e5b9653029f663f6676e"} 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":"e5c7f35f-2c08-4515-a7c0-0ed5318141ea"},{"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":"03a4141b-7663-42a3-854e-75e554e35fd7"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"1f3880b7-a78d-41ac-82c0-e4411e598b1b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"652d961fe077e5b9653029f663f6676e"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"b95e5c90-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"b95e5c90-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 3ms","method":"POST","requestID":"b95e5c90-7ad0-11ef-a772-4d02dbd671ac","responseTime":3,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2?id=22113972-f219-48ea-b1b6-4107abae44fb","ws://localhost/rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2?id=033afd08-1676-4070-8470-c9601f6a6161"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"652d961fe077e5b9653029f663f6676e"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b95f6e00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":890,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":890,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.300737,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b95f6e00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b95f6e00-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"939e162f-af4d-4ee5-b56c-9a2a8385d0e8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.3754303} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd9746cb-b67e-4788-9004-aab1e89b8292","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.3757138} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b95f6e00-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b95f6e00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b95f6e00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562'","requestID":"b95f6e00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562'","requestID":"b95f6e00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b95f6e00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"b95f6e00-7ad0-11ef-9247-9909de679d1e","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"b95f6e00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d0a89b1c-0368-4748-ae81-eb601fd35562","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7ca4fd29aab3d522172d227f098b2bc1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"b965fdb0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"22113972-f219-48ea-b1b6-4107abae44fb\" in room \"http://localhost/rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2\"","requestID":"b965fdb0-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7ca4fd29aab3d522172d227f098b2bc1","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"b965fdb0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"b96624c0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"033afd08-1676-4070-8470-c9601f6a6161\" in room \"http://localhost/rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2\"","requestID":"b96624c0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"b96624c0-7ad0-11ef-a772-4d02dbd671ac"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562"}}},"level":"info","message":"received a callback","requestID":"7ca4fd29aab3d522172d227f098b2bc1"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"22113972-f219-48ea-b1b6-4107abae44fb\" in room \"http://localhost/rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"22113972-f219-48ea-b1b6-4107abae44fb\" in room \"http://localhost/rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"22113972-f219-48ea-b1b6-4107abae44fb\" in room \"http://localhost/rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"22113972-f219-48ea-b1b6-4107abae44fb\" in room \"http://localhost/rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2\""} device-1 | {"data":{"peerconnection":"d0a89b1c-0368-4748-ae81-eb601fd35562","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"7ca4fd29aab3d522172d227f098b2bc1","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"7ca4fd29aab3d522172d227f098b2bc1"} device-1 | {"data":{"peerconnection":"d0a89b1c-0368-4748-ae81-eb601fd35562","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"652d961fe077e5b9653029f663f6676e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b96a4370-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":891,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f038e3f3-d1cd-4ced-9239-19d28075115a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.4356346} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":891,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.233117,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b96a4370-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b96a4370-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d0a89b1c-0368-4748-ae81-eb601fd35562","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b96a4370-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/signaling 200 12ms","method":"POST","requestID":"b96a4370-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9cfe004450d6cd1ecdd690f7679c802f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9cfe004450d6cd1ecdd690f7679c802f","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b96c6650-7ad0-11ef-9247-9909de679d1e"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562"}}},"level":"info","message":"received a callback","requestID":"9cfe004450d6cd1ecdd690f7679c802f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":892,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c4eeb2c-6454-46f3-83e1-f99618a0f812","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.450398} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":892,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.702354,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b96c6650-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","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":"getPeerconnectionsByPeerconnectionId called","requestID":"b96d50b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b96c6650-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":893,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b96c6650-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8dc29e67-543a-4b5e-8c74-e7867c903256/signaling 200 10ms","method":"POST","requestID":"b96c6650-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd0a89b1c-0368-4748-ae81-eb601fd35562","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b25e236-e1b3-416d-8956-b3908ebb4c0c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.455857} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":893,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.906387,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b96d50b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562","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":"b96d50b0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b96d50b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562 200 8ms","method":"GET","requestID":"b96d50b0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"9cfe004450d6cd1ecdd690f7679c802f","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"9cfe004450d6cd1ecdd690f7679c802f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b970ac10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":894,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10ace3e8-fc3b-4043-b04a-8a648ab2c50b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.477955} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":894,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.628119,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b970ac10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b970ac10-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b970ac10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8dc29e67-543a-4b5e-8c74-e7867c903256/signaling 200 8ms","method":"POST","requestID":"b970ac10-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b97232b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":895,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6cf8035-2ddd-45d0-ab34-0d5f7b7da610","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.4880192} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":895,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.825773,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b97232b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b97232b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b97232b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/signaling 200 8ms","method":"POST","requestID":"b97232b0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg","level":"info","message":"auth send jwt","requestID":"56dc20f813e77c42d5d0077f846f2a1e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"56dc20f813e77c42d5d0077f846f2a1e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e","requestID":"56dc20f813e77c42d5d0077f846f2a1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":896,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":896,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.132935,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"56dc20f813e77c42d5d0077f846f2a1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"56dc20f813e77c42d5d0077f846f2a1e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e","requestID":"56dc20f813e77c42d5d0077f846f2a1e"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e HTTP/1.1","status": "200","body_bytes_sent":"1361","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56dc20f813e77c42d5d0077f846f2a1e"} experiment-1 | {"level":"info","message":"GET /experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e 200 10ms","method":"GET","requestID":"56dc20f813e77c42d5d0077f846f2a1e","responseTime":10,"status":200,"url":"/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg","level":"info","message":"auth send jwt","requestID":"baace10c557b660b19cdf64614606fb5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"baace10c557b660b19cdf64614606fb5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e","requestID":"baace10c557b660b19cdf64614606fb5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":897,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":897,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.851388,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"baace10c557b660b19cdf64614606fb5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"baace10c557b660b19cdf64614606fb5","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Attempting to finish experiment","requestID":"baace10c557b660b19cdf64614606fb5"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b97ba890-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":898,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":898,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.938561,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b97ba890-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b97ba890-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2?id=033afd08-1676-4070-8470-c9601f6a6161 HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.157","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7e29944a3159e14c898f3c2f59382709"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2?id=22113972-f219-48ea-b1b6-4107abae44fb HTTP/1.1","status": "101","body_bytes_sent":"438","request_time":"0.158","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"393c14e33f7f2b9ec8a977e803cedbe6"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562","device":"752b2658-7ff3-467e-8d9f-8237a625d0d3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"22113972-f219-48ea-b1b6-4107abae44fb\" in room \"http://localhost/rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"22113972-f219-48ea-b1b6-4107abae44fb\" from room \"http://localhost/rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2\""} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"033afd08-1676-4070-8470-c9601f6a6161\" in room \"http://localhost/rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"033afd08-1676-4070-8470-c9601f6a6161\" from room \"http://localhost/rooms/767b2f8d-d284-4030-8198-4ede65e4b5a2\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562","device":"8dc29e67-543a-4b5e-8c74-e7867c903256","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/d0a89b1c-0368-4748-ae81-eb601fd35562' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d0a89b1c-0368-4748-ae81-eb601fd35562","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd0a89b1c-0368-4748-ae81-eb601fd35562': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd0a89b1c-0368-4748-ae81-eb601fd35562","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"446954a1-7dee-49c3-9b4c-117e0237e222","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.565934} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3dea4ec9-3955-43e8-abef-b9215266dbfb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.566125} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a81fc611248d8069487331e5ca1e0380","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a81fc611248d8069487331e5ca1e0380","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"b97ba890-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"07134068d12fb319bafb5e70c02a4b02","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"07134068d12fb319bafb5e70c02a4b02","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562"}}},"level":"info","message":"received a callback","requestID":"a81fc611248d8069487331e5ca1e0380"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562"}}},"level":"info","message":"received a callback","requestID":"07134068d12fb319bafb5e70c02a4b02"} device-1 | {"data":{"peerconnection":"d0a89b1c-0368-4748-ae81-eb601fd35562","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b97ba890-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562 204 40ms","method":"DELETE","requestID":"b97ba890-7ad0-11ef-9247-9909de679d1e","responseTime":40,"status":204,"url":"/peerconnections/d0a89b1c-0368-4748-ae81-eb601fd35562"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256'"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"},"level":"info","message":"Successfully finished experiment","requestID":"baace10c557b660b19cdf64614606fb5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9845b20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":899,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc29e67-543a-4b5e-8c74-e7867c903256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db3f9a0a-2702-45a0-b071-cfd345f976a1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.6068451} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":899,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.605127,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b9845b20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dc29e67-543a-4b5e-8c74-e7867c903256","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9845b20-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9845b20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8dc29e67-543a-4b5e-8c74-e7867c903256/signaling 200 9ms","method":"POST","requestID":"b9845b20-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/8dc29e67-543a-4b5e-8c74-e7867c903256/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8e380a5f-e4f7-4242-92d4-1128ceaca88e': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8e380a5f-e4f7-4242-92d4-1128ceaca88e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"74b7b9b3-a1c5-4ea9-a28f-aa632b8faf73","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.61331} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b98608d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fbad6e3c-11be-4ef3-b1f0-544fec243108","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.6136394} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"baace10c557b660b19cdf64614606fb5","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":900,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F752b2658-7ff3-467e-8d9f-8237a625d0d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35d88db2-026c-4184-bad8-79f6cb95a45f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.6182942} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":900,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.324434,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b98608d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b98608d0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b98608d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/signaling 200 9ms","method":"POST","requestID":"b98608d0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/752b2658-7ff3-467e-8d9f-8237a625d0d3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e","requestID":"baace10c557b660b19cdf64614606fb5"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"baace10c557b660b19cdf64614606fb5"} experiment-1 | {"level":"info","message":"DELETE /experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e 204 147ms","method":"DELETE","requestID":"baace10c557b660b19cdf64614606fb5","responseTime":147,"status":204,"url":"/experiments/8e380a5f-e4f7-4242-92d4-1128ceaca88e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"a81fc611248d8069487331e5ca1e0380","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"a81fc611248d8069487331e5ca1e0380"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 113ms","method":"POST","requestID":"07134068d12fb319bafb5e70c02a4b02","responseTime":113,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"07134068d12fb319bafb5e70c02a4b02"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg","level":"info","message":"auth send jwt","requestID":"1828de862fd52496fe025466559c29d3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1828de862fd52496fe025466559c29d3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1828de862fd52496fe025466559c29d3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":901,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1782","request_time":"0.666","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c77a43b6af121abe5a41c962ce19e33b"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1783","request_time":"0.696","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"92a379781b86084167f0e87f21b788f1"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":901,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.190405,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1828de862fd52496fe025466559c29d3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1828de862fd52496fe025466559c29d3","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/752b2658-7ff3-467e-8d9f-8237a625d0d3' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f879de3d-9794-4334-aaef-b5ac30361811","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.698485} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1828de862fd52496fe025466559c29d3","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39717964-71bd-41d8-b71f-4ded36446765","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.70288} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1828de862fd52496fe025466559c29d3","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/8dc29e67-543a-4b5e-8c74-e7867c903256' closed"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"6593efd0-2457-462f-a7b3-dda2f10b76bb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.7134995} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4534f6b-137f-43ba-9974-a9cd7b9ffb86","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.713674} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"1828de862fd52496fe025466559c29d3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.713463968Z"}]},"request_id":"3062e0a7-ddaf-4ca2-9385-f1a545a4ec7b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.717644} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1828de862fd52496fe025466559c29d3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1828de862fd52496fe025466559c29d3"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"1828de862fd52496fe025466559c29d3","responseTime":35,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1828de862fd52496fe025466559c29d3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg","level":"info","message":"auth send jwt","requestID":"6fc585f70e65e579572c226e20448835"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6fc585f70e65e579572c226e20448835","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6fc585f70e65e579572c226e20448835"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":902,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":902,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.685715,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6fc585f70e65e579572c226e20448835","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222235,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzNX0.EE_BWT6F54xE-wOubdHRh7j_Neljf_X0sGVSshEDpbg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6fc585f70e65e579572c226e20448835","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2b2bdf94-a2a6-4008-bc0a-cb140a2c29ed","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.7391946} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6fc585f70e65e579572c226e20448835","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d42cb679-cadf-42cd-bd34-c9d119aaf447","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.7429178} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6fc585f70e65e579572c226e20448835","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"265ad07f-7eb4-4d9e-a549-363ec820078b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.7598329} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3685822d-590e-45f6-8b95-6c356512268a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.7599385} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"6fc585f70e65e579572c226e20448835","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.759800960Z"}]},"request_id":"9a11a6f9-f4b9-4713-b565-8a645b763641","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222235.7635624} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6fc585f70e65e579572c226e20448835","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6fc585f70e65e579572c226e20448835"} gateway-1 | {"time_local":"24/Sep/2024:23:57:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6fc585f70e65e579572c226e20448835"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"6fc585f70e65e579572c226e20448835","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a1e99a008d24a2f48566af94811681c9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a1e99a008d24a2f48566af94811681c9","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/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":"a1e99a008d24a2f48566af94811681c9"} device-1 | {"level":"info","message":"OPTIONS /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/websocket 200 1ms","method":"OPTIONS","requestID":"a1e99a008d24a2f48566af94811681c9","responseTime":1,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM","level":"info","message":"auth send jwt","requestID":"8ec7f7d62b73ca092321617f32f463d9"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8ec7f7d62b73ca092321617f32f463d9","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ecdc9d4c5d99749ab13e5ef5a3abef65","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8ec7f7d62b73ca092321617f32f463d9"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ecdc9d4c5d99749ab13e5ef5a3abef65","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bc1f95ac-e795-442d-a1ba-674f616885d9/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.007","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ecdc9d4c5d99749ab13e5ef5a3abef65"} device-1 | {"level":"info","message":"OPTIONS /devices/bc1f95ac-e795-442d-a1ba-674f616885d9/websocket 200 1ms","method":"OPTIONS","requestID":"ecdc9d4c5d99749ab13e5ef5a3abef65","responseTime":1,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9/websocket"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":903,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":903,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.367716,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ec7f7d62b73ca092321617f32f463d9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8ec7f7d62b73ca092321617f32f463d9","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM","level":"info","message":"auth send jwt","requestID":"3115d1a85d4c3f1ee8a12515401432dd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3115d1a85d4c3f1ee8a12515401432dd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3115d1a85d4c3f1ee8a12515401432dd"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":904,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":904,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.971556,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3115d1a85d4c3f1ee8a12515401432dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3115d1a85d4c3f1ee8a12515401432dd","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8ec7f7d62b73ca092321617f32f463d9"} gateway-1 | {"time_local":"24/Sep/2024:23:57:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/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":"8ec7f7d62b73ca092321617f32f463d9"} device-1 | {"level":"info","message":"POST /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/websocket 200 26ms","method":"POST","requestID":"8ec7f7d62b73ca092321617f32f463d9","responseTime":26,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3115d1a85d4c3f1ee8a12515401432dd"} device-1 | {"level":"info","message":"POST /devices/bc1f95ac-e795-442d-a1ba-674f616885d9/websocket 200 25ms","method":"POST","requestID":"3115d1a85d4c3f1ee8a12515401432dd","responseTime":25,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bc1f95ac-e795-442d-a1ba-674f616885d9/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":"3115d1a85d4c3f1ee8a12515401432dd"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3b36cc5c0ddf6c45bcd90ec3a37835df","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"3b36cc5c0ddf6c45bcd90ec3a37835df","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"3b36cc5c0ddf6c45bcd90ec3a37835df"} device-1 | {"level":"info","message":"OPTIONS /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e? 200 1ms","method":"OPTIONS","requestID":"3b36cc5c0ddf6c45bcd90ec3a37835df","responseTime":1,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9faf0124c48210847f390be4e7d39de8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9faf0124c48210847f390be4e7d39de8","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM","level":"info","message":"auth send jwt","requestID":"ad2991c135d2a2cb44dfc673d113b5f6"} gateway-1 | {"time_local":"24/Sep/2024:23:57:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bc1f95ac-e795-442d-a1ba-674f616885d9? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"9faf0124c48210847f390be4e7d39de8"} device-1 | {"level":"info","message":"OPTIONS /devices/bc1f95ac-e795-442d-a1ba-674f616885d9? 200 0ms","method":"OPTIONS","requestID":"9faf0124c48210847f390be4e7d39de8","responseTime":0,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9?"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ad2991c135d2a2cb44dfc673d113b5f6","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ad2991c135d2a2cb44dfc673d113b5f6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":905,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":905,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.441389,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ad2991c135d2a2cb44dfc673d113b5f6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM","level":"info","message":"auth send jwt","requestID":"fef1e2323d20929263c7e92ed2aec759"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ad2991c135d2a2cb44dfc673d113b5f6","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fef1e2323d20929263c7e92ed2aec759","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"fef1e2323d20929263c7e92ed2aec759"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":906,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":906,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.00021,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"fef1e2323d20929263c7e92ed2aec759","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fef1e2323d20929263c7e92ed2aec759","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.759800960Z"}]},"request_id":"642054c6-eda8-4491-8cdb-4be25bb69ff1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222237.8456454} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ad2991c135d2a2cb44dfc673d113b5f6","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9070ae19-a30a-43f8-ae3f-48333c6b283a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222237.8521607} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"ad2991c135d2a2cb44dfc673d113b5f6","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.713463968Z"}]},"request_id":"a0883312-21fb-49aa-aa7c-f76100ca7edb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222237.8550537} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fef1e2323d20929263c7e92ed2aec759","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"523ca2d6-f6ef-42d3-9148-754ab16c0e8b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222237.8614998} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"fef1e2323d20929263c7e92ed2aec759","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.759800960Z"}]},"request_id":"288c0d04-90e6-44d9-b2aa-293fd5804ee3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222237.869477} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ad2991c135d2a2cb44dfc673d113b5f6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ad2991c135d2a2cb44dfc673d113b5f6"} gateway-1 | {"time_local":"24/Sep/2024:23:57:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.047","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ad2991c135d2a2cb44dfc673d113b5f6"} device-1 | {"level":"info","message":"PATCH /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e? 200 39ms","method":"PATCH","requestID":"ad2991c135d2a2cb44dfc673d113b5f6","responseTime":39,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.713463968Z"}]},"request_id":"07c0820d-8705-434e-bdc8-bbac7c204d32","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222237.8802712} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fef1e2323d20929263c7e92ed2aec759","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"fef1e2323d20929263c7e92ed2aec759"} device-1 | {"level":"info","message":"PATCH /devices/bc1f95ac-e795-442d-a1ba-674f616885d9? 200 41ms","method":"PATCH","requestID":"fef1e2323d20929263c7e92ed2aec759","responseTime":41,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bc1f95ac-e795-442d-a1ba-674f616885d9? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fef1e2323d20929263c7e92ed2aec759"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM","level":"info","message":"auth send jwt","requestID":"b6ce09ca4bbbe719b08c39b8bb0efa5e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b6ce09ca4bbbe719b08c39b8bb0efa5e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6ce09ca4bbbe719b08c39b8bb0efa5e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":907,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":907,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.783345,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b6ce09ca4bbbe719b08c39b8bb0efa5e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b6ce09ca4bbbe719b08c39b8bb0efa5e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.713463968Z"}]},"request_id":"784ccfe7-de48-4c50-af4d-29e527b1d816","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222237.9041} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b6ce09ca4bbbe719b08c39b8bb0efa5e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6ce09ca4bbbe719b08c39b8bb0efa5e"} device-1 | {"level":"info","message":"GET /devices/bc1f95ac-e795-442d-a1ba-674f616885d9? 200 14ms","method":"GET","requestID":"b6ce09ca4bbbe719b08c39b8bb0efa5e","responseTime":14,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc1f95ac-e795-442d-a1ba-674f616885d9? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6ce09ca4bbbe719b08c39b8bb0efa5e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM","level":"info","message":"auth send jwt","requestID":"a0ce062f9534d875dbef4f6bebfcf7c4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0ce062f9534d875dbef4f6bebfcf7c4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a0ce062f9534d875dbef4f6bebfcf7c4"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":908,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":908,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.289677,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a0ce062f9534d875dbef4f6bebfcf7c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a0ce062f9534d875dbef4f6bebfcf7c4","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.759800960Z"}]},"request_id":"d8f08dd0-02a4-4433-a625-32f85246895c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222237.9257452} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a0ce062f9534d875dbef4f6bebfcf7c4","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a0ce062f9534d875dbef4f6bebfcf7c4"} device-1 | {"level":"info","message":"GET /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e? 200 15ms","method":"GET","requestID":"a0ce062f9534d875dbef4f6bebfcf7c4","responseTime":15,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0ce062f9534d875dbef4f6bebfcf7c4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM","level":"info","message":"auth send jwt","requestID":"243d7767a33f132c694454362e67a906"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"243d7767a33f132c694454362e67a906","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"243d7767a33f132c694454362e67a906"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":909,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":909,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.172898,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"243d7767a33f132c694454362e67a906","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"243d7767a33f132c694454362e67a906","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Attempting to run experiment","requestID":"243d7767a33f132c694454362e67a906"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Attempting to book experiment","requestID":"243d7767a33f132c694454362e67a906"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Successfully booked experiment","requestID":"243d7767a33f132c694454362e67a906"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"baee4b60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"baee9980-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":910,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":910,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"baee4b60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"baee4b60-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":911,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":911,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.618097,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"baee9980-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"baee9980-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.713463968Z"}]},"request_id":"460127b0-f33f-417f-9206-f0bcb0963118","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222237.988403} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"baee4b60-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.759800960Z"}]},"request_id":"38025547-03d9-4585-b9f9-f993704f2133","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222237.989745} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"baee9980-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"baee4b60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/bc1f95ac-e795-442d-a1ba-674f616885d9? 200 20ms","method":"GET","requestID":"baee4b60-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"baee9980-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e? 200 19ms","method":"GET","requestID":"baee9980-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Setting up experiment","requestID":"243d7767a33f132c694454362e67a906"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"243d7767a33f132c694454362e67a906"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"243d7767a33f132c694454362e67a906"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"243d7767a33f132c694454362e67a906"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"243d7767a33f132c694454362e67a906"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"243d7767a33f132c694454362e67a906"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"243d7767a33f132c694454362e67a906"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Successfully set up experiment","requestID":"243d7767a33f132c694454362e67a906"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"baf83670-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"baf85d80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"baf88490-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Successfully running experiment","requestID":"243d7767a33f132c694454362e67a906"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":912,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":912,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.856736,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":913,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":913,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.874609,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Received request.","req_id":914,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"baf83670-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"baf83670-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"baf85d80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"baf85d80-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Sent response.","req_id":914,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.062024,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67ceddd2-83f4-475e-a610-c3eea2b418f9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.0481484} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"baf88490-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","object_type":"device","rebac_allow":false,"scope_allow":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":"baf88490-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"baf88490-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/bc1f95ac-e795-442d-a1ba-674f616885d9/signaling 200 15ms","method":"POST","requestID":"baf88490-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.713463968Z"}]},"request_id":"90910c78-5d6f-4bae-ae6b-9aed67290ab3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.0555134} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.759800960Z"}]},"request_id":"13fa6d1a-4513-4b48-8c17-43ef9f99da09","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.0570548} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"baf85d80-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bafb1ca0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":915,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"baf85d80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e? 200 22ms","method":"GET","requestID":"baf85d80-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"baf83670-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8431fad-1072-41dc-b885-05716bcd5c8a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.0634542} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":915,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.233929,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bafb1ca0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","object_type":"device","rebac_allow":false,"scope_allow":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":"bafb1ca0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"baf83670-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/bc1f95ac-e795-442d-a1ba-674f616885d9? 200 29ms","method":"GET","requestID":"baf83670-7ad0-11ef-9247-9909de679d1e","responseTime":29,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bafb1ca0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/signaling 200 10ms","method":"POST","requestID":"bafb1ca0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bafcf160-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4148663c-e31e-4902-b4a6-bdbb152c245a#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4148663c-e31e-4902-b4a6-bdbb152c245a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"9f2be13a-ab90-49ae-9941-6c8edd1f3388","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.0709727} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e46b2fd8-0912-4fc8-9aee-3b513386bf57","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.0718653} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"243d7767a33f132c694454362e67a906","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":916,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a59288e-0f81-4e8c-b840-02b02e353267","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.075342} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":916,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.332018,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bafcf160-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","object_type":"device","rebac_allow":false,"scope_allow":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":"bafcf160-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bafcf160-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/bc1f95ac-e795-442d-a1ba-674f616885d9/signaling 200 9ms","method":"POST","requestID":"bafcf160-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bafe9f10-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"243d7767a33f132c694454362e67a906"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1288","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"243d7767a33f132c694454362e67a906"} experiment-1 | {"level":"info","message":"POST /experiments? 201 145ms","method":"POST","requestID":"243d7767a33f132c694454362e67a906","responseTime":145,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":917,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9dd3d35f-a003-44f9-81c4-3deda48e0363","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.0857368} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":917,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.546206,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM","level":"info","message":"auth send jwt","requestID":"835eeca2cbe09dc0d1b5a385d3fb2d46"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"835eeca2cbe09dc0d1b5a385d3fb2d46","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bafe9f10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bafe9f10-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"835eeca2cbe09dc0d1b5a385d3fb2d46"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":918,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":918,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.792259,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bafe9f10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/signaling 200 9ms","method":"POST","requestID":"bafe9f10-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"835eeca2cbe09dc0d1b5a385d3fb2d46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222238,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"835eeca2cbe09dc0d1b5a385d3fb2d46","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"243d7767a33f132c694454362e67a906"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bb0073d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bb009ae0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.713463968Z"}]},"request_id":"285a8167-6897-4ee5-92a6-0835dc06902c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.0942795} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"835eeca2cbe09dc0d1b5a385d3fb2d46","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":919,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":919,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631799,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb0073d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bb0073d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"835eeca2cbe09dc0d1b5a385d3fb2d46"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":920,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":920,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933589,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc1f95ac-e795-442d-a1ba-674f616885d9? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"835eeca2cbe09dc0d1b5a385d3fb2d46"} device-1 | {"level":"info","message":"GET /devices/bc1f95ac-e795-442d-a1ba-674f616885d9? 200 11ms","method":"GET","requestID":"835eeca2cbe09dc0d1b5a385d3fb2d46","responseTime":11,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb009ae0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bb009ae0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM","level":"info","message":"auth send jwt","requestID":"24bd4f3e8c4f0e89d31163612dc5f7e1"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.713463968Z"}]},"request_id":"81f30155-105c-4309-8276-d1e16ace993f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.1016033} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"24bd4f3e8c4f0e89d31163612dc5f7e1","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bb0073d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"24bd4f3e8c4f0e89d31163612dc5f7e1"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.759800960Z"}]},"request_id":"a0798f17-6bd8-4ffb-916e-a3d97f059cd6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.1026127} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bb009ae0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":921,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":921,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762131,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"24bd4f3e8c4f0e89d31163612dc5f7e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222238,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bb0073d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"24bd4f3e8c4f0e89d31163612dc5f7e1","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/bc1f95ac-e795-442d-a1ba-674f616885d9? 200 14ms","method":"GET","requestID":"bb0073d0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bb009ae0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e? 200 14ms","method":"GET","requestID":"bb009ae0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Building connection plan","requestID":"243d7767a33f132c694454362e67a906"} 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":"7d20cc86-4ae5-4ea1-8d2f-1167e6fa3158"},{"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":"f9fcc5ac-48da-4e81-a332-c4ecd670a23e"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"e62e33f3-b39a-42e4-a076-0b02c4c59d18"}]},"level":"info","message":"Built pairwise service configurations","requestID":"243d7767a33f132c694454362e67a906"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:15.759800960Z"}]},"request_id":"d29849f9-a98c-4a64-9764-4e6b6b3b888c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.1111758} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"bb0332f0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"bb0332f0-7ad0-11ef-a772-4d02dbd671ac"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"24bd4f3e8c4f0e89d31163612dc5f7e1","responseTime":3,"status":200,"url":"/relations/query"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"bb0332f0-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea?id=487c0060-6a29-4fdf-8f9d-386c7e674430","ws://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea?id=fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"243d7767a33f132c694454362e67a906"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"24bd4f3e8c4f0e89d31163612dc5f7e1"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24bd4f3e8c4f0e89d31163612dc5f7e1"} device-1 | {"level":"info","message":"GET /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e? 200 12ms","method":"GET","requestID":"24bd4f3e8c4f0e89d31163612dc5f7e1","responseTime":12,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"bb03f640-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":922,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":922,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.853877,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb03f640-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222237,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzN30.NJLhbW__rVFWFnhGahok9kgKtA56Q0_in8X5NMNj7EM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bb03f640-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"b951c229-9579-431d-9e35-9ba4cfba6ff5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.126791} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c54a846-b5e3-44b4-b434-389ca6498ca9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.1270714} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bb03f640-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"bb03f640-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"bb03f640-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84'","requestID":"bb03f640-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84'","requestID":"bb03f640-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"bb03f640-7ad0-11ef-9247-9909de679d1e"} 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":"bb03f640-7ad0-11ef-9247-9909de679d1e","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":"bb03f640-7ad0-11ef-9247-9909de679d1e"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"bb092660-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f\" in room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\"","requestID":"bb092660-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"bb092660-7ad0-11ef-a772-4d02dbd671ac"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0ac43338-5b6e-44a2-8068-789f2a1f5d84","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"bb097480-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"487c0060-6a29-4fdf-8f9d-386c7e674430\" in room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\"","requestID":"bb097480-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"bb097480-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"300764a091fd0c6f7cb66fb026854839","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"300764a091fd0c6f7cb66fb026854839","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f\" in room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f\" in room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\""} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84"}}},"level":"info","message":"received a callback","requestID":"300764a091fd0c6f7cb66fb026854839"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f\" in room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f\" in room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f\" in room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f\" in room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f\" in room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f\" in room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\""} device-1 | {"data":{"peerconnection":"0ac43338-5b6e-44a2-8068-789f2a1f5d84","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"300764a091fd0c6f7cb66fb026854839","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","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":"300764a091fd0c6f7cb66fb026854839"} device-1 | {"data":{"peerconnection":"0ac43338-5b6e-44a2-8068-789f2a1f5d84","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"243d7767a33f132c694454362e67a906"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb0de150-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":923,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18a3efe3-e470-43c1-97be-3486752d6a03","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.1858027} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":923,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.473385,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb0de150-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bb0de150-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0ac43338-5b6e-44a2-8068-789f2a1f5d84","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb0de150-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/bc1f95ac-e795-442d-a1ba-674f616885d9/signaling 200 10ms","method":"POST","requestID":"bb0de150-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c2622e33a416a68166a005d196e2f68f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c2622e33a416a68166a005d196e2f68f","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb0fb610-7ad0-11ef-9247-9909de679d1e"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84"}}},"level":"info","message":"received a callback","requestID":"c2622e33a416a68166a005d196e2f68f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":924,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c73e4b7f-bc74-4490-b598-9a6cb02bf701","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.197417} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":924,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.580151,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb0fb610-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bb0fb610-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"bb107960-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":925,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb0fb610-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/signaling 200 8ms","method":"POST","requestID":"bb0fb610-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0ac43338-5b6e-44a2-8068-789f2a1f5d84","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"922b2b50-a1ae-4699-a512-f57c84625c4a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.2027464} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":925,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.382123,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb107960-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84","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":"bb107960-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"bb107960-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84 200 8ms","method":"GET","requestID":"bb107960-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"c2622e33a416a68166a005d196e2f68f","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","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":"c2622e33a416a68166a005d196e2f68f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb1422e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":926,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4cc71c6-b83d-431d-b3a4-7c8f05d85305","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.2269132} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":926,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.459852,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb1422e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bb1422e0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb1422e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/bc1f95ac-e795-442d-a1ba-674f616885d9/signaling 200 9ms","method":"POST","requestID":"bb1422e0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb15d090-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":927,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77366b74-14f4-45b4-826e-b25a2598bb99","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.2390969} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":927,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.250595,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb15d090-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","object_type":"device","rebac_allow":false,"scope_allow":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":"bb15d090-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb15d090-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/signaling 200 10ms","method":"POST","requestID":"bb15d090-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM","level":"info","message":"auth send jwt","requestID":"47c5fe6a5a2e634ff30bfec652cb80c4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"47c5fe6a5a2e634ff30bfec652cb80c4","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4148663c-e31e-4902-b4a6-bdbb152c245a","requestID":"47c5fe6a5a2e634ff30bfec652cb80c4"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":928,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":928,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.856133,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"47c5fe6a5a2e634ff30bfec652cb80c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222238,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"47c5fe6a5a2e634ff30bfec652cb80c4","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4148663c-e31e-4902-b4a6-bdbb152c245a","requestID":"47c5fe6a5a2e634ff30bfec652cb80c4"} experiment-1 | {"level":"info","message":"GET /experiments/4148663c-e31e-4902-b4a6-bdbb152c245a 200 13ms","method":"GET","requestID":"47c5fe6a5a2e634ff30bfec652cb80c4","responseTime":13,"status":200,"url":"/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4148663c-e31e-4902-b4a6-bdbb152c245a HTTP/1.1","status": "200","body_bytes_sent":"1361","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47c5fe6a5a2e634ff30bfec652cb80c4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM","level":"info","message":"auth send jwt","requestID":"b8f59f59130b0c04310a4f20bf0f2f2e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b8f59f59130b0c04310a4f20bf0f2f2e","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4148663c-e31e-4902-b4a6-bdbb152c245a","requestID":"b8f59f59130b0c04310a4f20bf0f2f2e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":929,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":929,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.098406,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b8f59f59130b0c04310a4f20bf0f2f2e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222238,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b8f59f59130b0c04310a4f20bf0f2f2e","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Attempting to finish experiment","requestID":"b8f59f59130b0c04310a4f20bf0f2f2e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"bb207ef0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":930,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":930,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.758023,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb207ef0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222238,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bb207ef0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84","device":"e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84","device":"bc1f95ac-e795-442d-a1ba-674f616885d9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea?id=fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f HTTP/1.1","status": "101","body_bytes_sent":"874","request_time":"0.171","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c28a07d09f09d12ef1ff858e048cd292"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0ac43338-5b6e-44a2-8068-789f2a1f5d84","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea?id=487c0060-6a29-4fdf-8f9d-386c7e674430 HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.172","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"035b0559d2fdb302cb1f8a170bd28748"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f\" in room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"fee3a8cf-f7ab-4bde-bf52-ee73e3625d9f\" from room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\""} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"487c0060-6a29-4fdf-8f9d-386c7e674430\" in room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"487c0060-6a29-4fdf-8f9d-386c7e674430\" from room \"http://localhost/rooms/72f5f233-0dad-4ac7-bdbc-3fbf069411ea\""} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8605b7bacdec7a973940824021a9b4ad","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8605b7bacdec7a973940824021a9b4ad","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0e99f4c76ca46194c1078b62b1fa0a3a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84"}}},"level":"info","message":"received a callback","requestID":"8605b7bacdec7a973940824021a9b4ad"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0e99f4c76ca46194c1078b62b1fa0a3a","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0ac43338-5b6e-44a2-8068-789f2a1f5d84': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0ac43338-5b6e-44a2-8068-789f2a1f5d84","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"ed16a19a-362e-4505-9c86-7c4088077f14","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.3273041} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84"}}},"level":"info","message":"received a callback","requestID":"0e99f4c76ca46194c1078b62b1fa0a3a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01c1f1dc-86e3-48fd-bb3b-d5aae1d4cfdc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.3276885} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"bb207ef0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"0ac43338-5b6e-44a2-8068-789f2a1f5d84","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"bb207ef0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84 204 42ms","method":"DELETE","requestID":"bb207ef0-7ad0-11ef-9247-9909de679d1e","responseTime":42,"status":204,"url":"/peerconnections/0ac43338-5b6e-44a2-8068-789f2a1f5d84"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e'"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"},"level":"info","message":"Successfully finished experiment","requestID":"b8f59f59130b0c04310a4f20bf0f2f2e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb2a6a00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":931,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1f95ac-e795-442d-a1ba-674f616885d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"768355e1-7ed7-45fc-9ac4-63bb947d459c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.3739412} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":931,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.11823,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb2a6a00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9","object_type":"device","rebac_allow":false,"scope_allow":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":"bb2a6a00-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb2a6a00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/bc1f95ac-e795-442d-a1ba-674f616885d9/signaling 200 10ms","method":"POST","requestID":"bb2a6a00-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/bc1f95ac-e795-442d-a1ba-674f616885d9/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4148663c-e31e-4902-b4a6-bdbb152c245a': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4148663c-e31e-4902-b4a6-bdbb152c245a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"9d3a03f2-1ba0-436a-a060-0bee8104aec3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.3799088} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f664c94-59e2-46ca-b073-d83468d63cd1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.3801413} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb2c3ec0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"b8f59f59130b0c04310a4f20bf0f2f2e","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":932,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe00e1ceb-b1a6-4123-9ef6-7832f172fd5e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea19d282-b241-4a46-829a-198638e4b5d1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.3850706} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":932,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.994897,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb2c3ec0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bb2c3ec0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb2c3ec0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/signaling 200 10ms","method":"POST","requestID":"bb2c3ec0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4148663c-e31e-4902-b4a6-bdbb152c245a","requestID":"b8f59f59130b0c04310a4f20bf0f2f2e"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4148663c-e31e-4902-b4a6-bdbb152c245a 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":"b8f59f59130b0c04310a4f20bf0f2f2e"} experiment-1 | {"level":"info","message":"DELETE /experiments/4148663c-e31e-4902-b4a6-bdbb152c245a 204 155ms","method":"DELETE","requestID":"b8f59f59130b0c04310a4f20bf0f2f2e","responseTime":155,"status":204,"url":"/experiments/4148663c-e31e-4902-b4a6-bdbb152c245a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"8605b7bacdec7a973940824021a9b4ad","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"8605b7bacdec7a973940824021a9b4ad"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 118ms","method":"POST","requestID":"0e99f4c76ca46194c1078b62b1fa0a3a","responseTime":118,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"0e99f4c76ca46194c1078b62b1fa0a3a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM","level":"info","message":"auth send jwt","requestID":"140339253ed18a80c3efb217d6190786"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"140339253ed18a80c3efb217d6190786","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"140339253ed18a80c3efb217d6190786"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":933,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":933,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.007893,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"140339253ed18a80c3efb217d6190786","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222238,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"140339253ed18a80c3efb217d6190786","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1784","request_time":"0.656","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"febf48a1d8adb1a890155394ec7c18f9"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1781","request_time":"0.667","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"23b39000410d69b762182e6a25fb22b9"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bc1f95ac-e795-442d-a1ba-674f616885d9' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4de7ead1-2a71-43ad-bf62-bba1c81ae2cf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.4735906} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"140339253ed18a80c3efb217d6190786","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6170fb5-3d78-4be5-b903-5ade477b3e04","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.477921} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"140339253ed18a80c3efb217d6190786","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/e00e1ceb-b1a6-4123-9ef6-7832f172fd5e' closed"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"dfa1bf12-20a4-4dfa-b15f-9ac99c1f89d5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.487155} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad71a9b7-5bc2-4740-9c46-bb57283fc822","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.4872773} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"140339253ed18a80c3efb217d6190786","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.487122849Z"}]},"request_id":"ce81340d-04fe-43d2-8d01-d1ea32934bf1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.491253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"140339253ed18a80c3efb217d6190786","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"140339253ed18a80c3efb217d6190786"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"140339253ed18a80c3efb217d6190786"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"140339253ed18a80c3efb217d6190786","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM","level":"info","message":"auth send jwt","requestID":"e553e233e439a9380ccc8a8ff80a8c57"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e553e233e439a9380ccc8a8ff80a8c57","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e553e233e439a9380ccc8a8ff80a8c57"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":934,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":934,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.608397,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e553e233e439a9380ccc8a8ff80a8c57","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222238,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOH0.amI-ovha-AA2p829b1bKjAS7YGvtRDvDmV6RDAjKTZM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e553e233e439a9380ccc8a8ff80a8c57","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"acc9eae5-ca33-48bc-a60e-9ece4c386c11","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.5133624} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e553e233e439a9380ccc8a8ff80a8c57","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aecd10c5-aa60-4462-adb8-61fa636de080","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.517699} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"e553e233e439a9380ccc8a8ff80a8c57","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"f1eed7bd-3ef2-4673-b7ea-483deabfdbe2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.5338197} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"563244bb-ba33-4939-9924-9ae715448ea2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.5339122} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"e553e233e439a9380ccc8a8ff80a8c57","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.533794468Z"}]},"request_id":"7f298c0c-e8a4-4143-9ec8-69657d194f48","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222238.5375288} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e553e233e439a9380ccc8a8ff80a8c57","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e553e233e439a9380ccc8a8ff80a8c57"} gateway-1 | {"time_local":"24/Sep/2024:23:57:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e553e233e439a9380ccc8a8ff80a8c57"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"e553e233e439a9380ccc8a8ff80a8c57","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOX0.UogsfQc-wcQuiuwwJ6QUnJfQrhJpCJ8n2UGb5_zQVxo","level":"info","message":"auth send jwt","requestID":"5bf81714e091a2eb3a6fece5a85e24aa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5bf81714e091a2eb3a6fece5a85e24aa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"5bf81714e091a2eb3a6fece5a85e24aa"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":935,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":935,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.16208,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5bf81714e091a2eb3a6fece5a85e24aa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222239,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOX0.UogsfQc-wcQuiuwwJ6QUnJfQrhJpCJ8n2UGb5_zQVxo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5bf81714e091a2eb3a6fece5a85e24aa","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.533794468Z"}]},"request_id":"e2e35c2f-a97b-4bd3-8aa8-24c55a0867e2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222239.0204177} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5bf81714e091a2eb3a6fece5a85e24aa","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa40cba5-e67d-41b8-9ca5-cbdaadb3470e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222239.0258324} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5bf81714e091a2eb3a6fece5a85e24aa","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.533794468Z"}]},"request_id":"c96146af-15db-42d2-ad97-bb653e14b04c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222239.0378458} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5bf81714e091a2eb3a6fece5a85e24aa","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"5bf81714e091a2eb3a6fece5a85e24aa"} gateway-1 | {"time_local":"24/Sep/2024:23:57:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"5bf81714e091a2eb3a6fece5a85e24aa"} device-1 | {"level":"info","message":"PATCH /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2 200 31ms","method":"PATCH","requestID":"5bf81714e091a2eb3a6fece5a85e24aa","responseTime":31,"status":200,"url":"/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOX0.UogsfQc-wcQuiuwwJ6QUnJfQrhJpCJ8n2UGb5_zQVxo","level":"info","message":"auth send jwt","requestID":"e4ddad37e1d750d9bdd6194e03c3d495"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4ddad37e1d750d9bdd6194e03c3d495","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e4ddad37e1d750d9bdd6194e03c3d495"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":936,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":936,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804771,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e4ddad37e1d750d9bdd6194e03c3d495","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222239,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjIzOX0.UogsfQc-wcQuiuwwJ6QUnJfQrhJpCJ8n2UGb5_zQVxo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e4ddad37e1d750d9bdd6194e03c3d495","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e4ddad37e1d750d9bdd6194e03c3d495"} device-1 | {"level":"info","message":"POST /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/websocket 200 17ms","method":"POST","requestID":"e4ddad37e1d750d9bdd6194e03c3d495","responseTime":17,"status":200,"url":"/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"e4ddad37e1d750d9bdd6194e03c3d495"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f8e1f3412097ccd31d4f9cc40e292514","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f8e1f3412097ccd31d4f9cc40e292514","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9227f722-87b0-47bc-a091-f878a38ab7f6/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":"f8e1f3412097ccd31d4f9cc40e292514"} device-1 | {"level":"info","message":"OPTIONS /devices/9227f722-87b0-47bc-a091-f878a38ab7f6/websocket 200 1ms","method":"OPTIONS","requestID":"f8e1f3412097ccd31d4f9cc40e292514","responseTime":1,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20","level":"info","message":"auth send jwt","requestID":"bebb1eac3845716de27972a23e0d0a84"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bebb1eac3845716de27972a23e0d0a84","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bebb1eac3845716de27972a23e0d0a84"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":937,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":937,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.193329,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bebb1eac3845716de27972a23e0d0a84","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bebb1eac3845716de27972a23e0d0a84","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bebb1eac3845716de27972a23e0d0a84"} gateway-1 | {"time_local":"24/Sep/2024:23:57:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9227f722-87b0-47bc-a091-f878a38ab7f6/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":"bebb1eac3845716de27972a23e0d0a84"} device-1 | {"level":"info","message":"POST /devices/9227f722-87b0-47bc-a091-f878a38ab7f6/websocket 200 20ms","method":"POST","requestID":"bebb1eac3845716de27972a23e0d0a84","responseTime":20,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b886f7161530f1c07912437b0a6d07b3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b886f7161530f1c07912437b0a6d07b3","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9227f722-87b0-47bc-a091-f878a38ab7f6? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"b886f7161530f1c07912437b0a6d07b3"} device-1 | {"level":"info","message":"OPTIONS /devices/9227f722-87b0-47bc-a091-f878a38ab7f6? 200 1ms","method":"OPTIONS","requestID":"b886f7161530f1c07912437b0a6d07b3","responseTime":1,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20","level":"info","message":"auth send jwt","requestID":"382d7d09f31719c0112e6e39e21d5a64"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"382d7d09f31719c0112e6e39e21d5a64","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"382d7d09f31719c0112e6e39e21d5a64"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":938,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":938,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.310056,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"382d7d09f31719c0112e6e39e21d5a64","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"382d7d09f31719c0112e6e39e21d5a64","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.487122849Z"}]},"request_id":"9c66b34a-71ba-4031-927f-03bdbdf61fe8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.5971477} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"382d7d09f31719c0112e6e39e21d5a64","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8054eac3-8555-44be-8256-dbca3173fccd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.60475} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"382d7d09f31719c0112e6e39e21d5a64","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.487122849Z"}]},"request_id":"90d61f84-a14e-4a7e-b109-8fb8b39c8602","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.6195805} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"382d7d09f31719c0112e6e39e21d5a64","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"382d7d09f31719c0112e6e39e21d5a64"} gateway-1 | {"time_local":"24/Sep/2024:23:57:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9227f722-87b0-47bc-a091-f878a38ab7f6? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.047","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"382d7d09f31719c0112e6e39e21d5a64"} device-1 | {"level":"info","message":"PATCH /devices/9227f722-87b0-47bc-a091-f878a38ab7f6? 200 40ms","method":"PATCH","requestID":"382d7d09f31719c0112e6e39e21d5a64","responseTime":40,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20","level":"info","message":"auth send jwt","requestID":"eec56d9f7c2ba8012f1311d582272c39"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"eec56d9f7c2ba8012f1311d582272c39","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eec56d9f7c2ba8012f1311d582272c39"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":939,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":939,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.778131,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"eec56d9f7c2ba8012f1311d582272c39","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"eec56d9f7c2ba8012f1311d582272c39","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.487122849Z"}]},"request_id":"0a264fa7-9b4c-4a0f-834a-d78f8ad21ad6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.650796} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"eec56d9f7c2ba8012f1311d582272c39","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eec56d9f7c2ba8012f1311d582272c39"} gateway-1 | {"time_local":"24/Sep/2024:23:57:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9227f722-87b0-47bc-a091-f878a38ab7f6? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eec56d9f7c2ba8012f1311d582272c39"} device-1 | {"level":"info","message":"GET /devices/9227f722-87b0-47bc-a091-f878a38ab7f6? 200 18ms","method":"GET","requestID":"eec56d9f7c2ba8012f1311d582272c39","responseTime":18,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20","level":"info","message":"auth send jwt","requestID":"be86d0751fd0f0b234a233dd48a420af"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"be86d0751fd0f0b234a233dd48a420af","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be86d0751fd0f0b234a233dd48a420af"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":940,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":940,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.264597,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be86d0751fd0f0b234a233dd48a420af","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"be86d0751fd0f0b234a233dd48a420af","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.533794468Z"}]},"request_id":"7e629742-1613-4dad-a2a6-e28d5e7034f6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.6770964} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"be86d0751fd0f0b234a233dd48a420af","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be86d0751fd0f0b234a233dd48a420af"} gateway-1 | {"time_local":"24/Sep/2024:23:57:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be86d0751fd0f0b234a233dd48a420af"} device-1 | {"level":"info","message":"GET /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2? 200 18ms","method":"GET","requestID":"be86d0751fd0f0b234a233dd48a420af","responseTime":18,"status":200,"url":"/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20","level":"info","message":"auth send jwt","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"794ba2b3e82d7c9420ee72ce2f0db688","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":941,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":941,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.197054,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"794ba2b3e82d7c9420ee72ce2f0db688","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"794ba2b3e82d7c9420ee72ce2f0db688","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Attempting to run experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Attempting to book experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Successfully booked experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bc9348d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bc936fe0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":942,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":943,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":942,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.993648,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bc9348d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bc9348d0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":943,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983415,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bc936fe0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bc936fe0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.487122849Z"}]},"request_id":"89046258-e29f-4ca3-9e79-703e7215a312","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.7454052} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"bc9348d0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.533794468Z"}]},"request_id":"86f9f3d6-a15e-4c2b-b444-fcda366dc093","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.7467823} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bc936fe0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bc9348d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/9227f722-87b0-47bc-a091-f878a38ab7f6? 200 18ms","method":"GET","requestID":"bc9348d0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bc936fe0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2? 200 17ms","method":"GET","requestID":"bc936fe0-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Setting up experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Successfully locked booking for experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Attempting to update booking for experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Successfully updated booking for experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Successfully set up experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bc9df730-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bc9e4550-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bc9eba80-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Successfully running experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":944,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":944,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.642073,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":945,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bc9df730-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"bc9df730-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":945,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.271828,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Received request.","req_id":946,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bc9e4550-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"bc9e4550-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Sent response.","req_id":946,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.357595,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e85a4c2-5b23-4b50-a3a6-f0e462163907","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.8204057} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bc9eba80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"bc9eba80-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.487122849Z"}]},"request_id":"1e0231a3-0b38-4cbd-9100-ee0a421fbe05","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.8234935} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"bc9df730-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.533794468Z"}]},"request_id":"e8a55aa0-6cd0-4bd6-b89b-71dffadadabf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.8330293} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"bc9e4550-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bc9eba80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/9227f722-87b0-47bc-a091-f878a38ab7f6/signaling 200 32ms","method":"POST","requestID":"bc9eba80-7ad0-11ef-9247-9909de679d1e","responseTime":32,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcfb8ba32-68f3-444b-9c7d-b0d2293b65f5#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcfb8ba32-68f3-444b-9c7d-b0d2293b65f5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"bb07e666-8f1a-4aa7-83d5-13d782366ce6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.8401694} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e20781dc-9a7f-4338-92eb-dbda5e7b13e2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.840643} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bc9df730-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/9227f722-87b0-47bc-a091-f878a38ab7f6? 200 42ms","method":"GET","requestID":"bc9df730-7ad0-11ef-9247-9909de679d1e","responseTime":42,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"794ba2b3e82d7c9420ee72ce2f0db688","responseTime":30,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bca486e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bc9e4550-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2? 200 45ms","method":"GET","requestID":"bc9e4550-7ad0-11ef-9247-9909de679d1e","responseTime":45,"status":200,"url":"/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":947,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bca5bf60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b265816c-6840-4dd9-8e16-b913fdf2a044","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.8545134} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":947,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.454906,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bca486e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","object_type":"device","rebac_allow":false,"scope_allow":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":"bca486e0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} experiment-1 | {"level":"info","message":"POST /experiments? 201 168ms","method":"POST","requestID":"794ba2b3e82d7c9420ee72ce2f0db688","responseTime":168,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1292","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":948,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a30fd875-754a-4835-afcd-06281cf5a1c5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.8632116} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":948,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.455499,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bca5bf60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20","level":"info","message":"auth send jwt","requestID":"1c95c489f6e26fef466711526ed41928"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"bca5bf60-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1c95c489f6e26fef466711526ed41928","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1c95c489f6e26fef466711526ed41928"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":949,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":949,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925396,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1c95c489f6e26fef466711526ed41928","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1c95c489f6e26fef466711526ed41928","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bca486e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/signaling 200 33ms","method":"POST","requestID":"bca486e0-7ad0-11ef-9247-9909de679d1e","responseTime":33,"status":200,"url":"/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bca5bf60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/9227f722-87b0-47bc-a091-f878a38ab7f6/signaling 200 27ms","method":"POST","requestID":"bca5bf60-7ad0-11ef-9247-9909de679d1e","responseTime":27,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.487122849Z"}]},"request_id":"c97d187a-66a0-4126-b38a-613bdff73c25","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.882434} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1c95c489f6e26fef466711526ed41928","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcaa2c30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":950,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1c95c489f6e26fef466711526ed41928"} gateway-1 | {"time_local":"24/Sep/2024:23:57:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9227f722-87b0-47bc-a091-f878a38ab7f6? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c95c489f6e26fef466711526ed41928"} device-1 | {"level":"info","message":"GET /devices/9227f722-87b0-47bc-a091-f878a38ab7f6? 200 12ms","method":"GET","requestID":"1c95c489f6e26fef466711526ed41928","responseTime":12,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a59ea113-9fc8-4de5-8747-a4e6215b9b37","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.8871715} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":950,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.517238,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcaa2c30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","object_type":"device","rebac_allow":false,"scope_allow":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":"bcaa2c30-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20","level":"info","message":"auth send jwt","requestID":"e725bec3ef8b62e4d776a18325192db8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e725bec3ef8b62e4d776a18325192db8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcaa2c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/signaling 200 8ms","method":"POST","requestID":"bcaa2c30-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e725bec3ef8b62e4d776a18325192db8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bcabb2d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bcabd9e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":951,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":952,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":951,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.439215,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":952,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.011098,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Received request.","req_id":953,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e725bec3ef8b62e4d776a18325192db8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e725bec3ef8b62e4d776a18325192db8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcabb2d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bcabb2d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Sent response.","req_id":953,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626427,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcabd9e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bcabd9e0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.533794468Z"}]},"request_id":"90142070-72b6-48b2-a97b-12d07d9451e5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.901209} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.487122849Z"}]},"request_id":"302c544e-7738-4a59-8286-863ef805279a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.9017918} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e725bec3ef8b62e4d776a18325192db8","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bcabb2d0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:18.533794468Z"}]},"request_id":"a880c0f7-5c21-49bf-8a8d-334579c0517c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.9026012} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bcabd9e0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e725bec3ef8b62e4d776a18325192db8"} gateway-1 | {"time_local":"24/Sep/2024:23:57:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e725bec3ef8b62e4d776a18325192db8"} device-1 | {"level":"info","message":"GET /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2? 200 15ms","method":"GET","requestID":"e725bec3ef8b62e4d776a18325192db8","responseTime":15,"status":200,"url":"/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bcabb2d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/9227f722-87b0-47bc-a091-f878a38ab7f6? 200 14ms","method":"GET","requestID":"bcabb2d0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bcabd9e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2? 200 14ms","method":"GET","requestID":"bcabd9e0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Building connection plan","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} 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":"bdf6d13a-c753-483a-a44f-c3c5f45b0246"},{"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":"f90de7fb-dde0-45c7-a2d3-027470ac9185"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"66d46284-f11f-411f-9526-0967d7f02f36"}]},"level":"info","message":"Built pairwise service configurations","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"bcae4ae0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"bcae4ae0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 2ms","method":"POST","requestID":"bcae4ae0-7ad0-11ef-a772-4d02dbd671ac","responseTime":2,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/2a4184a5-fbce-4f72-931b-70274993202b?id=5028b7f4-1461-408f-bad7-b35b7d3a580c","ws://localhost/rooms/2a4184a5-fbce-4f72-931b-70274993202b?id=d7324dd1-56ea-44b6-97f2-6f05565c8a57"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"bcaee720-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":954,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":954,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.010405,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcaee720-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222240,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MH0.d8U-63DsJlY7XdDYGj5lu5MudKF0TtGvPG4ffTHHk20"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bcaee720-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"ae3e5815-248d-45b5-8609-e23562322e47","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.9252143} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be197742-ad01-4bdb-b62c-acbaacd2df90","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.925464} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bcaee720-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"bcaee720-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"bcaee720-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28'","requestID":"bcaee720-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28'","requestID":"bcaee720-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"bcaee720-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"bcaee720-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"bcaee720-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e853dfa7-be27-4cf2-94f1-1c3942c57d28","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"bcb41740-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"5028b7f4-1461-408f-bad7-b35b7d3a580c\" in room \"http://localhost/rooms/2a4184a5-fbce-4f72-931b-70274993202b\"","requestID":"bcb41740-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"bcb41740-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"67b912ddb1b553b3735cf9173851b540","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"67b912ddb1b553b3735cf9173851b540","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28"}}},"level":"info","message":"received a callback","requestID":"67b912ddb1b553b3735cf9173851b540"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"bcb4da90-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"d7324dd1-56ea-44b6-97f2-6f05565c8a57\" in room \"http://localhost/rooms/2a4184a5-fbce-4f72-931b-70274993202b\"","requestID":"bcb4da90-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"bcb4da90-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"5028b7f4-1461-408f-bad7-b35b7d3a580c\" in room \"http://localhost/rooms/2a4184a5-fbce-4f72-931b-70274993202b\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"5028b7f4-1461-408f-bad7-b35b7d3a580c\" in room \"http://localhost/rooms/2a4184a5-fbce-4f72-931b-70274993202b\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"5028b7f4-1461-408f-bad7-b35b7d3a580c\" in room \"http://localhost/rooms/2a4184a5-fbce-4f72-931b-70274993202b\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"5028b7f4-1461-408f-bad7-b35b7d3a580c\" in room \"http://localhost/rooms/2a4184a5-fbce-4f72-931b-70274993202b\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e853dfa7-be27-4cf2-94f1-1c3942c57d28","statusDeviceA":"connected","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8cade4cacd00905f24ec1d5633dd37a9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8cade4cacd00905f24ec1d5633dd37a9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"67b912ddb1b553b3735cf9173851b540","responseTime":13,"status":200,"url":"/callbacks/experiment"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6"}],"status":"new","type":"websocket","url":"http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28"}}},"level":"info","message":"received a callback","requestID":"8cade4cacd00905f24ec1d5633dd37a9"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"67b912ddb1b553b3735cf9173851b540"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e853dfa7-be27-4cf2-94f1-1c3942c57d28","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"8cade4cacd00905f24ec1d5633dd37a9","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"8cade4cacd00905f24ec1d5633dd37a9"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ccfec80c926c2b74973d2292b39e52bb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ccfec80c926c2b74973d2292b39e52bb","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28"}}},"level":"info","message":"received a callback","requestID":"ccfec80c926c2b74973d2292b39e52bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"794ba2b3e82d7c9420ee72ce2f0db688"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcba0ab0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e853dfa7-be27-4cf2-94f1-1c3942c57d28","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 18ms","method":"POST","requestID":"ccfec80c926c2b74973d2292b39e52bb","responseTime":18,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":955,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:20Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.020","http_referrer":"","http_user_agent":"node-fetch","requestID":"ccfec80c926c2b74973d2292b39e52bb"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"751a0075e47ffb39d2ff147271289a50","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"751a0075e47ffb39d2ff147271289a50","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1846a4c7-eaf2-4923-9422-b92a120507dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222240.9928305} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":955,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.95473,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcba0ab0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bcba0ab0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28"}}},"level":"info","message":"received a callback","requestID":"751a0075e47ffb39d2ff147271289a50"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"bcbc0680-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcba0ab0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/9227f722-87b0-47bc-a091-f878a38ab7f6/signaling 200 16ms","method":"POST","requestID":"bcba0ab0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":956,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe853dfa7-be27-4cf2-94f1-1c3942c57d28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bef5b59-eae3-4dbd-8d89-f8a482305ea2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.0047789} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":956,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.534272,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcbcc9d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcbc0680-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28","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":"bcbc0680-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"bcbc0680-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":957,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} device-1 | {"level":"info","message":"GET /peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28 200 9ms","method":"GET","requestID":"bcbc0680-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4eb0c487-57cc-411b-9327-dae8b7cb2f24","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.0106828} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":957,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.330168,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcbcc9d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bcbcc9d0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcbcc9d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/signaling 200 9ms","method":"POST","requestID":"bcbcc9d0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/signaling"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"751a0075e47ffb39d2ff147271289a50","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","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":"751a0075e47ffb39d2ff147271289a50"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcbfd710-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":958,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f266d9ba-bb62-46d9-9631-f64b1ecd54b4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.0298214} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":958,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.60028,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcbfd710-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","object_type":"device","rebac_allow":false,"scope_allow":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":"bcbfd710-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcbfd710-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/signaling 200 9ms","method":"POST","requestID":"bcbfd710-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcc184c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":959,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47b53ec7-e6a1-4304-8fe1-c180e3d64980","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.040253} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":959,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.391322,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcc184c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","object_type":"device","rebac_allow":false,"scope_allow":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":"bcc184c0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcc184c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/9227f722-87b0-47bc-a091-f878a38ab7f6/signaling 200 8ms","method":"POST","requestID":"bcc184c0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo","level":"info","message":"auth send jwt","requestID":"c20bf5d3dba05ae64fb1137e8f08ae6e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c20bf5d3dba05ae64fb1137e8f08ae6e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5","requestID":"c20bf5d3dba05ae64fb1137e8f08ae6e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":960,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":960,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.695251,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c20bf5d3dba05ae64fb1137e8f08ae6e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222241,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c20bf5d3dba05ae64fb1137e8f08ae6e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5","requestID":"c20bf5d3dba05ae64fb1137e8f08ae6e"} experiment-1 | {"level":"info","message":"GET /experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5 200 10ms","method":"GET","requestID":"c20bf5d3dba05ae64fb1137e8f08ae6e","responseTime":10,"status":200,"url":"/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5 HTTP/1.1","status": "200","body_bytes_sent":"1365","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c20bf5d3dba05ae64fb1137e8f08ae6e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo","level":"info","message":"auth send jwt","requestID":"88100b21fdf8fbafbe638319c8f6d7d6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"88100b21fdf8fbafbe638319c8f6d7d6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5","requestID":"88100b21fdf8fbafbe638319c8f6d7d6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":961,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":961,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.724079,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"88100b21fdf8fbafbe638319c8f6d7d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222241,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"88100b21fdf8fbafbe638319c8f6d7d6","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Attempting to finish experiment","requestID":"88100b21fdf8fbafbe638319c8f6d7d6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"bcc97400-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":962,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":962,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.855776,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcc97400-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222241,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bcc97400-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/2a4184a5-fbce-4f72-931b-70274993202b?id=5028b7f4-1461-408f-bad7-b35b7d3a580c HTTP/1.1","status": "101","body_bytes_sent":"436","request_time":"0.150","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"19ae29eecbe0ec23d6d458df49f2bbbc"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"5028b7f4-1461-408f-bad7-b35b7d3a580c\" in room \"http://localhost/rooms/2a4184a5-fbce-4f72-931b-70274993202b\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"5028b7f4-1461-408f-bad7-b35b7d3a580c\" from room \"http://localhost/rooms/2a4184a5-fbce-4f72-931b-70274993202b\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28","device":"9227f722-87b0-47bc-a091-f878a38ab7f6","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/e853dfa7-be27-4cf2-94f1-1c3942c57d28' to 'http://localhost/callbacks/experiment'"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/2a4184a5-fbce-4f72-931b-70274993202b?id=d7324dd1-56ea-44b6-97f2-6f05565c8a57 HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.148","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f9e89b1324f936e0db390f42cbdcce4e"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e853dfa7-be27-4cf2-94f1-1c3942c57d28","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"d7324dd1-56ea-44b6-97f2-6f05565c8a57\" in room \"http://localhost/rooms/2a4184a5-fbce-4f72-931b-70274993202b\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"d7324dd1-56ea-44b6-97f2-6f05565c8a57\" from room \"http://localhost/rooms/2a4184a5-fbce-4f72-931b-70274993202b\""} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"205df8aa5e09c6d2feeb10fc34c7c2fc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe853dfa7-be27-4cf2-94f1-1c3942c57d28': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe853dfa7-be27-4cf2-94f1-1c3942c57d28","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"03c30791-9bee-42e3-a457-3020602946ee","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.1026716} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"205df8aa5e09c6d2feeb10fc34c7c2fc","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac1b67ad-cc77-4545-a070-1520e5726dd4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.1029902} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8388c424ca12183e0b7d9bfe0d0cf354","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8388c424ca12183e0b7d9bfe0d0cf354","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"bcc97400-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28"}}},"level":"info","message":"received a callback","requestID":"205df8aa5e09c6d2feeb10fc34c7c2fc"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28"}}},"level":"info","message":"received a callback","requestID":"8388c424ca12183e0b7d9bfe0d0cf354"} device-1 | {"data":{"peerconnection":"e853dfa7-be27-4cf2-94f1-1c3942c57d28","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"bcc97400-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28 204 33ms","method":"DELETE","requestID":"bcc97400-7ad0-11ef-9247-9909de679d1e","responseTime":33,"status":204,"url":"/peerconnections/e853dfa7-be27-4cf2-94f1-1c3942c57d28"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"},"level":"info","message":"Successfully finished experiment","requestID":"88100b21fdf8fbafbe638319c8f6d7d6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcd13c30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":963,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba194e3a-0dc9-4207-a561-9eedb89a3df2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f8cb09b-1b47-4404-a909-10e4ec27db1d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.143222} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":963,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.246408,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcd13c30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2","object_type":"device","rebac_allow":false,"scope_allow":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":"bcd13c30-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcd13c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/signaling 200 8ms","method":"POST","requestID":"bcd13c30-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/ba194e3a-0dc9-4207-a561-9eedb89a3df2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcd2c2d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcfb8ba32-68f3-444b-9c7d-b0d2293b65f5': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcfb8ba32-68f3-444b-9c7d-b0d2293b65f5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"3a4eedea-ec7b-463f-9dc4-b6540ea99ee9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.150011} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"161face5-9eb5-48b7-8d9e-984bc7ddb278","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.1502173} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"88100b21fdf8fbafbe638319c8f6d7d6","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":964,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9227f722-87b0-47bc-a091-f878a38ab7f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe6ab7f0-fefe-46a9-bf5c-f1e3c9c4ded3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.1540263} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":964,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.215072,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcd2c2d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6","object_type":"device","rebac_allow":false,"scope_allow":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":"bcd2c2d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcd2c2d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/9227f722-87b0-47bc-a091-f878a38ab7f6/signaling 200 9ms","method":"POST","requestID":"bcd2c2d0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/9227f722-87b0-47bc-a091-f878a38ab7f6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5","requestID":"88100b21fdf8fbafbe638319c8f6d7d6"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88100b21fdf8fbafbe638319c8f6d7d6"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1782","request_time":"2.151","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"e1f9551d115216d020c5e481e8b237d8"} experiment-1 | {"level":"info","message":"DELETE /experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5 204 138ms","method":"DELETE","requestID":"88100b21fdf8fbafbe638319c8f6d7d6","responseTime":138,"status":204,"url":"/experiments/cfb8ba32-68f3-444b-9c7d-b0d2293b65f5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"205df8aa5e09c6d2feeb10fc34c7c2fc","responseTime":115,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"205df8aa5e09c6d2feeb10fc34c7c2fc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"8388c424ca12183e0b7d9bfe0d0cf354","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.119","http_referrer":"","http_user_agent":"node-fetch","requestID":"8388c424ca12183e0b7d9bfe0d0cf354"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo","level":"info","message":"auth send jwt","requestID":"6b7dd29da86d74e23eb83922191f3950"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6b7dd29da86d74e23eb83922191f3950","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6b7dd29da86d74e23eb83922191f3950"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":965,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":965,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.171262,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2107","request_time":"0.686","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"af5af465c17853db2db92c566989f97f"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6b7dd29da86d74e23eb83922191f3950","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222241,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6b7dd29da86d74e23eb83922191f3950","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/ba194e3a-0dc9-4207-a561-9eedb89a3df2' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9227f722-87b0-47bc-a091-f878a38ab7f6' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cb056e49-2ec9-4532-9374-ab3e92142ad1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.2412016} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6b7dd29da86d74e23eb83922191f3950","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f59d104-a6e8-4811-9c82-a09c127f1082","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.245864} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6b7dd29da86d74e23eb83922191f3950","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"bb3db468-9421-4224-a4de-a25a0027acc3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.2556853} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40cfe5da-725b-4771-be01-dc08429ccdb4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.2558663} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"6b7dd29da86d74e23eb83922191f3950","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.255649122Z"}]},"request_id":"c78db14d-2813-443c-acd0-15fbbeddd36e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.2605853} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6b7dd29da86d74e23eb83922191f3950","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6b7dd29da86d74e23eb83922191f3950"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"6b7dd29da86d74e23eb83922191f3950","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b7dd29da86d74e23eb83922191f3950"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo","level":"info","message":"auth send jwt","requestID":"6a75880b9c19bdd46fe6c357f47b09a4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6a75880b9c19bdd46fe6c357f47b09a4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6a75880b9c19bdd46fe6c357f47b09a4"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":966,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":966,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.703286,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6a75880b9c19bdd46fe6c357f47b09a4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222241,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6a75880b9c19bdd46fe6c357f47b09a4","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a267ca31-8cc1-4e7e-a1b1-e1b406c662e1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.2879488} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6a75880b9c19bdd46fe6c357f47b09a4","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77cbb40b-bfc4-4bc9-9152-fdf6a30ffd1a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.291994} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6a75880b9c19bdd46fe6c357f47b09a4","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"0bc49aa5-6647-44d4-b4e0-a736420daefb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.302519} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0dc257b-120a-47ec-88ae-3a512040b902","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.3026023} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"6a75880b9c19bdd46fe6c357f47b09a4","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.302481446Z"}]},"request_id":"dc254fe9-f54a-45a0-bfda-5db3afc761f2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.3065643} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6a75880b9c19bdd46fe6c357f47b09a4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6a75880b9c19bdd46fe6c357f47b09a4"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"6a75880b9c19bdd46fe6c357f47b09a4","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a75880b9c19bdd46fe6c357f47b09a4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo","level":"info","message":"auth send jwt","requestID":"329ea1214f5dbfc72aa81ef177b9bed1"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"329ea1214f5dbfc72aa81ef177b9bed1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"329ea1214f5dbfc72aa81ef177b9bed1"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":967,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":967,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.847353,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"329ea1214f5dbfc72aa81ef177b9bed1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222241,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"329ea1214f5dbfc72aa81ef177b9bed1","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.302481446Z"}]},"request_id":"51425f3d-00b0-42a8-8b20-d4397c2cdfb1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.7939591} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"329ea1214f5dbfc72aa81ef177b9bed1","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29e84cfc-15e7-4d48-84de-7372cddac414","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.800728} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"329ea1214f5dbfc72aa81ef177b9bed1","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.302481446Z"}]},"request_id":"15b46ca3-a326-4604-8530-79688e060bfd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222241.8134253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"329ea1214f5dbfc72aa81ef177b9bed1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"329ea1214f5dbfc72aa81ef177b9bed1"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6fbd4238-107c-4fb6-85c4-a741f1937137 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"329ea1214f5dbfc72aa81ef177b9bed1"} device-1 | {"level":"info","message":"PATCH /devices/6fbd4238-107c-4fb6-85c4-a741f1937137 200 35ms","method":"PATCH","requestID":"329ea1214f5dbfc72aa81ef177b9bed1","responseTime":35,"status":200,"url":"/devices/6fbd4238-107c-4fb6-85c4-a741f1937137"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo","level":"info","message":"auth send jwt","requestID":"e77cef86160c1b9d410b10c0930f9921"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e77cef86160c1b9d410b10c0930f9921","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e77cef86160c1b9d410b10c0930f9921"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":968,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":968,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.180571,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e77cef86160c1b9d410b10c0930f9921","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222241,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0MX0.8gTbHe-R5aDuBceQj8d9zJka_9EZYF2yYKoM4ot0Kqo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e77cef86160c1b9d410b10c0930f9921","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e77cef86160c1b9d410b10c0930f9921"} device-1 | {"level":"info","message":"POST /devices/6fbd4238-107c-4fb6-85c4-a741f1937137/websocket 200 22ms","method":"POST","requestID":"e77cef86160c1b9d410b10c0930f9921","responseTime":22,"status":200,"url":"/devices/6fbd4238-107c-4fb6-85c4-a741f1937137/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6fbd4238-107c-4fb6-85c4-a741f1937137/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"e77cef86160c1b9d410b10c0930f9921"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ec46b18daef1a7f03dac4d13666396b3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ec46b18daef1a7f03dac4d13666396b3","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/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":"ec46b18daef1a7f03dac4d13666396b3"} device-1 | {"level":"info","message":"OPTIONS /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/websocket 200 2ms","method":"OPTIONS","requestID":"ec46b18daef1a7f03dac4d13666396b3","responseTime":2,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA","level":"info","message":"auth send jwt","requestID":"ed534f6907491c51fe5525dd50f5e51f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ed534f6907491c51fe5525dd50f5e51f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ed534f6907491c51fe5525dd50f5e51f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":969,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":969,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.310957,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ed534f6907491c51fe5525dd50f5e51f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed534f6907491c51fe5525dd50f5e51f","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ed534f6907491c51fe5525dd50f5e51f"} gateway-1 | {"time_local":"24/Sep/2024:23:57:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/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":"ed534f6907491c51fe5525dd50f5e51f"} device-1 | {"level":"info","message":"POST /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/websocket 200 23ms","method":"POST","requestID":"ed534f6907491c51fe5525dd50f5e51f","responseTime":23,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a7449ab8ae26dcb00999f1cc4157bb10","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a7449ab8ae26dcb00999f1cc4157bb10","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"a7449ab8ae26dcb00999f1cc4157bb10"} device-1 | {"level":"info","message":"OPTIONS /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230? 200 1ms","method":"OPTIONS","requestID":"a7449ab8ae26dcb00999f1cc4157bb10","responseTime":1,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA","level":"info","message":"auth send jwt","requestID":"63a5d7cccf6cc6e557a77bc53c822cdb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"63a5d7cccf6cc6e557a77bc53c822cdb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"63a5d7cccf6cc6e557a77bc53c822cdb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":970,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":970,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.950245,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"63a5d7cccf6cc6e557a77bc53c822cdb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"63a5d7cccf6cc6e557a77bc53c822cdb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.255649122Z"}]},"request_id":"e70dfb2d-eb97-4e36-a4ed-6e320ff4564f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.3924239} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"63a5d7cccf6cc6e557a77bc53c822cdb","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59af739d-d1bc-49ec-8407-5a6c054efe4d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.4014502} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"63a5d7cccf6cc6e557a77bc53c822cdb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.255649122Z"}]},"request_id":"7cf15d0d-3a5c-4f7a-bf9e-103214dd236c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.4119976} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"63a5d7cccf6cc6e557a77bc53c822cdb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"63a5d7cccf6cc6e557a77bc53c822cdb"} device-1 | {"level":"info","message":"PATCH /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230? 200 36ms","method":"PATCH","requestID":"63a5d7cccf6cc6e557a77bc53c822cdb","responseTime":36,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230? HTTP/1.1","status": "200","body_bytes_sent":"1007","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":"63a5d7cccf6cc6e557a77bc53c822cdb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA","level":"info","message":"auth send jwt","requestID":"36e6ea5c2a40ea9f663c7b83bf83cd2c"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"36e6ea5c2a40ea9f663c7b83bf83cd2c","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"36e6ea5c2a40ea9f663c7b83bf83cd2c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":971,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":971,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21949,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"36e6ea5c2a40ea9f663c7b83bf83cd2c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"36e6ea5c2a40ea9f663c7b83bf83cd2c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.255649122Z"}]},"request_id":"527eb985-4923-4c73-a8b5-405a05c8ce42","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.4421873} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"36e6ea5c2a40ea9f663c7b83bf83cd2c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"36e6ea5c2a40ea9f663c7b83bf83cd2c"} device-1 | {"level":"info","message":"GET /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230? 200 17ms","method":"GET","requestID":"36e6ea5c2a40ea9f663c7b83bf83cd2c","responseTime":17,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"36e6ea5c2a40ea9f663c7b83bf83cd2c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA","level":"info","message":"auth send jwt","requestID":"8df85ea640112b8973eed306b9ccb4b3"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8df85ea640112b8973eed306b9ccb4b3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8df85ea640112b8973eed306b9ccb4b3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":972,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":972,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.196105,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8df85ea640112b8973eed306b9ccb4b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8df85ea640112b8973eed306b9ccb4b3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.302481446Z"}]},"request_id":"41765075-af29-4bf3-a54a-2a3c8e45128c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.4672847} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8df85ea640112b8973eed306b9ccb4b3","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8df85ea640112b8973eed306b9ccb4b3"} gateway-1 | {"time_local":"24/Sep/2024:23:57:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6fbd4238-107c-4fb6-85c4-a741f1937137? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8df85ea640112b8973eed306b9ccb4b3"} device-1 | {"level":"info","message":"GET /devices/6fbd4238-107c-4fb6-85c4-a741f1937137? 200 18ms","method":"GET","requestID":"8df85ea640112b8973eed306b9ccb4b3","responseTime":18,"status":200,"url":"/devices/6fbd4238-107c-4fb6-85c4-a741f1937137?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA","level":"info","message":"auth send jwt","requestID":"fe47bf49159beebf634345240a12a119"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fe47bf49159beebf634345240a12a119","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"fe47bf49159beebf634345240a12a119"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":973,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":973,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.287395,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"fe47bf49159beebf634345240a12a119","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe47bf49159beebf634345240a12a119","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Attempting to run experiment","requestID":"fe47bf49159beebf634345240a12a119"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Attempting to book experiment","requestID":"fe47bf49159beebf634345240a12a119"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Successfully booked experiment","requestID":"fe47bf49159beebf634345240a12a119"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be3d2840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be3d4f50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":974,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":974,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.312814,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":975,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be3d2840-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be3d2840-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":975,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.228337,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be3d4f50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"be3d4f50-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.255649122Z"}]},"request_id":"a1a21cc2-61be-4188-bc27-2e4eb1c060aa","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.535806} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"be3d2840-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.302481446Z"}]},"request_id":"c28407e8-1c45-4658-b1a0-9ec1941fb01c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.537554} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"be3d4f50-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be3d2840-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230? 200 21ms","method":"GET","requestID":"be3d2840-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be3d4f50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/6fbd4238-107c-4fb6-85c4-a741f1937137? 200 22ms","method":"GET","requestID":"be3d4f50-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/6fbd4238-107c-4fb6-85c4-a741f1937137?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Setting up experiment","requestID":"fe47bf49159beebf634345240a12a119"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"fe47bf49159beebf634345240a12a119"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Successfully locked booking for experiment","requestID":"fe47bf49159beebf634345240a12a119"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"fe47bf49159beebf634345240a12a119"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"fe47bf49159beebf634345240a12a119"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Attempting to update booking for experiment","requestID":"fe47bf49159beebf634345240a12a119"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Successfully updated booking for experiment","requestID":"fe47bf49159beebf634345240a12a119"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Successfully set up experiment","requestID":"fe47bf49159beebf634345240a12a119"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be4872e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be48c100-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be490f20-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Successfully running experiment","requestID":"fe47bf49159beebf634345240a12a119"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":976,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":976,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.873127,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":977,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be4872e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"be4872e0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":977,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.647325,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Received request.","req_id":978,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be48c100-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"be48c100-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Sent response.","req_id":978,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.857097,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8dac2f97-3041-49db-ba47-a710d2803bc6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.6122634} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be490f20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"be490f20-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be490f20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/signaling 200 19ms","method":"POST","requestID":"be490f20-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.255649122Z"}]},"request_id":"a77fe195-5512-4d28-a3e1-5318f28ea29d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.6205215} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"be4872e0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.302481446Z"}]},"request_id":"f0dac6e8-c3d2-4133-b93e-98e61daf540e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.6232371} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be4c9190-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"be48c100-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":979,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a933567-59b5-43aa-9323-99bce6330e8a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.632849} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be4872e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3fd547c3-8d53-4022-af4a-10a1d3ac5695#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3fd547c3-8d53-4022-af4a-10a1d3ac5695","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"ac3c9508-c8d0-4e65-90e9-24b0815ba124","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.6336098} device-1 | {"level":"info","message":"GET /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230? 200 36ms","method":"GET","requestID":"be4872e0-7ad0-11ef-9247-9909de679d1e","responseTime":36,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be48c100-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/6fbd4238-107c-4fb6-85c4-a741f1937137? 200 36ms","method":"GET","requestID":"be48c100-7ad0-11ef-9247-9909de679d1e","responseTime":36,"status":200,"url":"/devices/6fbd4238-107c-4fb6-85c4-a741f1937137?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":979,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.928594,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be4c9190-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"be4c9190-7ad0-11ef-9247-9909de679d1e","responseTime":11,"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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3abc68d7-7b88-49ad-8c1e-5015f47e1df5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.6342363} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"fe47bf49159beebf634345240a12a119","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be4edb80-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":980,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be4c9190-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6fbd4238-107c-4fb6-85c4-a741f1937137/signaling 200 23ms","method":"POST","requestID":"be4c9190-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/6fbd4238-107c-4fb6-85c4-a741f1937137/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7e07470-8bc0-43c0-bbe4-6f0c8b74e0f6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.6481252} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":980,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.339876,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be4edb80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","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/3fd547c3-8d53-4022-af4a-10a1d3ac5695","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"fe47bf49159beebf634345240a12a119"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"be4edb80-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:57:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1292","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe47bf49159beebf634345240a12a119"} experiment-1 | {"level":"info","message":"POST /experiments? 201 171ms","method":"POST","requestID":"fe47bf49159beebf634345240a12a119","responseTime":171,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be4edb80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/signaling 200 14ms","method":"POST","requestID":"be4edb80-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA","level":"info","message":"auth send jwt","requestID":"954fb9636d61a5611a5d2796bc5ab949"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be517390-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"954fb9636d61a5611a5d2796bc5ab949","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"954fb9636d61a5611a5d2796bc5ab949"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":981,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":982,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":982,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.083799,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"954fb9636d61a5611a5d2796bc5ab949","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"954fb9636d61a5611a5d2796bc5ab949","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d6e70f9-919a-42eb-a4ae-ef951675f990","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.6636958} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":981,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.12966,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be517390-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","object_type":"device","rebac_allow":false,"scope_allow":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":"be517390-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be517390-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.255649122Z"}]},"request_id":"b5a2b240-b179-4c4f-a2df-e206403b68c1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.6681252} device-1 | {"level":"info","message":"POST /devices/6fbd4238-107c-4fb6-85c4-a741f1937137/signaling 200 11ms","method":"POST","requestID":"be517390-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/6fbd4238-107c-4fb6-85c4-a741f1937137/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"954fb9636d61a5611a5d2796bc5ab949","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"fe47bf49159beebf634345240a12a119"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be539670-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be53e490-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"954fb9636d61a5611a5d2796bc5ab949"} gateway-1 | {"time_local":"24/Sep/2024:23:57:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"954fb9636d61a5611a5d2796bc5ab949"} device-1 | {"level":"info","message":"GET /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230? 200 17ms","method":"GET","requestID":"954fb9636d61a5611a5d2796bc5ab949","responseTime":17,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":983,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":983,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.713797,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be539670-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"be539670-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":984,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":984,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.82516,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be53e490-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be53e490-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA","level":"info","message":"auth send jwt","requestID":"1d6eb9d099ab95093ebb7092cc11671a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d6eb9d099ab95093ebb7092cc11671a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1d6eb9d099ab95093ebb7092cc11671a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.255649122Z"}]},"request_id":"920dc489-3320-4b03-9a1c-aa5a0316aef1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.6821146} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"be539670-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.302481446Z"}]},"request_id":"80f2810d-d15e-4b6f-83df-3c1bdb2358d2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.6832669} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be539670-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"be53e490-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230? 200 15ms","method":"GET","requestID":"be539670-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":985,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":985,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91327,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1d6eb9d099ab95093ebb7092cc11671a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1d6eb9d099ab95093ebb7092cc11671a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be53e490-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/6fbd4238-107c-4fb6-85c4-a741f1937137? 200 17ms","method":"GET","requestID":"be53e490-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/6fbd4238-107c-4fb6-85c4-a741f1937137?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:21.302481446Z"}]},"request_id":"6cdff793-6c27-4d10-b558-490b6a1d298a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.690713} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Building connection plan","requestID":"fe47bf49159beebf634345240a12a119"} 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":"11b04793-1d00-4229-8635-cb1300b92afe"},{"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":"e824ec69-dae0-46d7-b008-eb610b28ac83"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"36995c4c-0329-4b14-a9dd-f6e82afd2c57"}]},"level":"info","message":"Built pairwise service configurations","requestID":"fe47bf49159beebf634345240a12a119"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d6eb9d099ab95093ebb7092cc11671a","responseTime":3,"status":200,"url":"/relations/query"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"be56cac0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"be56cac0-7ad0-11ef-a772-4d02dbd671ac"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1d6eb9d099ab95093ebb7092cc11671a"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"be56cac0-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} gateway-1 | {"time_local":"24/Sep/2024:23:57:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6fbd4238-107c-4fb6-85c4-a741f1937137? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d6eb9d099ab95093ebb7092cc11671a"} device-1 | {"level":"info","message":"GET /devices/6fbd4238-107c-4fb6-85c4-a741f1937137? 200 12ms","method":"GET","requestID":"1d6eb9d099ab95093ebb7092cc11671a","responseTime":12,"status":200,"url":"/devices/6fbd4238-107c-4fb6-85c4-a741f1937137?"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f?id=33315941-95ec-4880-825f-16b22580ebc1","ws://localhost/rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f?id=ee1e4f50-e647-4d9c-80b4-f8706f8f10cc"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"fe47bf49159beebf634345240a12a119"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"be576700-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":986,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":986,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.225845,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be576700-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"be576700-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"3d44d6d0-0387-4961-97a5-49f43cd183f6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.7081106} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d36eb23-0098-4a08-967d-6452588512b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.708334} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"be576700-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"be576700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"be576700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d'","requestID":"be576700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d'","requestID":"be576700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"be576700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"be576700-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"be576700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a213d060-6b3e-40dc-9d20-27058c09e76d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"be5c7010-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"33315941-95ec-4880-825f-16b22580ebc1\" in room \"http://localhost/rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f\"","requestID":"be5c7010-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"be5c7010-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"be5d0c50-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"ee1e4f50-e647-4d9c-80b4-f8706f8f10cc\" in room \"http://localhost/rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f\"","requestID":"be5d0c50-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"be5d0c50-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1fa26cc67e31e5ff01616d0edc481a84","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1fa26cc67e31e5ff01616d0edc481a84","responseTime":3,"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d"}}},"level":"info","message":"received a callback","requestID":"1fa26cc67e31e5ff01616d0edc481a84"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"33315941-95ec-4880-825f-16b22580ebc1\" in room \"http://localhost/rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"33315941-95ec-4880-825f-16b22580ebc1\" in room \"http://localhost/rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"33315941-95ec-4880-825f-16b22580ebc1\" in room \"http://localhost/rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"33315941-95ec-4880-825f-16b22580ebc1\" in room \"http://localhost/rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f\""} device-1 | {"data":{"peerconnection":"a213d060-6b3e-40dc-9d20-27058c09e76d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"1fa26cc67e31e5ff01616d0edc481a84","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"1fa26cc67e31e5ff01616d0edc481a84"} device-1 | {"data":{"peerconnection":"a213d060-6b3e-40dc-9d20-27058c09e76d","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"fe47bf49159beebf634345240a12a119"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be60b5d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":987,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05d389ed-380d-4bd8-a0b4-c8c868c2d8d4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.761551} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":987,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.286966,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be60b5d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"be60b5d0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a213d060-6b3e-40dc-9d20-27058c09e76d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be60b5d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/signaling 200 15ms","method":"POST","requestID":"be60b5d0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fcd09f9cf7ec9662b5033ffd648cad93","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"fcd09f9cf7ec9662b5033ffd648cad93","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be634de0-7ad0-11ef-9247-9909de679d1e"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d"}}},"level":"info","message":"received a callback","requestID":"fcd09f9cf7ec9662b5033ffd648cad93"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":988,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e33dc421-c6d7-48e8-b0da-9d0e315e02f5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.7781234} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":988,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.362835,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"be641130-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be634de0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","object_type":"device","rebac_allow":false,"scope_allow":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":"be634de0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":989,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be634de0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6fbd4238-107c-4fb6-85c4-a741f1937137/signaling 200 8ms","method":"POST","requestID":"be634de0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/6fbd4238-107c-4fb6-85c4-a741f1937137/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa213d060-6b3e-40dc-9d20-27058c09e76d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28d85598-1ee0-4f6b-8d52-f65b8dc2ea30","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.7825897} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":989,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.434169,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be641130-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d","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":"be641130-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"be641130-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d 200 7ms","method":"GET","requestID":"be641130-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"fcd09f9cf7ec9662b5033ffd648cad93","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"fcd09f9cf7ec9662b5033ffd648cad93"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be6793a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":990,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65bfbac7-e325-4c15-b53a-a033164a1b9b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.8062367} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":990,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.230675,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be6793a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","object_type":"device","rebac_allow":false,"scope_allow":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":"be6793a0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be6793a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6fbd4238-107c-4fb6-85c4-a741f1937137/signaling 200 7ms","method":"POST","requestID":"be6793a0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/devices/6fbd4238-107c-4fb6-85c4-a741f1937137/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be68f330-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":991,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0e3a579-6afe-4570-a71e-a99c179529f6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.8159115} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":991,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.923498,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be68f330-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"be68f330-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be68f330-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/signaling 200 8ms","method":"POST","requestID":"be68f330-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA","level":"info","message":"auth send jwt","requestID":"6995e600033211963022e3a7c6b25fe8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6995e600033211963022e3a7c6b25fe8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695","requestID":"6995e600033211963022e3a7c6b25fe8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":992,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":992,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.87167,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6995e600033211963022e3a7c6b25fe8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6995e600033211963022e3a7c6b25fe8","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695","requestID":"6995e600033211963022e3a7c6b25fe8"} gateway-1 | {"time_local":"24/Sep/2024:23:57:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695 HTTP/1.1","status": "200","body_bytes_sent":"1365","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6995e600033211963022e3a7c6b25fe8"} experiment-1 | {"level":"info","message":"GET /experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695 200 10ms","method":"GET","requestID":"6995e600033211963022e3a7c6b25fe8","responseTime":10,"status":200,"url":"/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA","level":"info","message":"auth send jwt","requestID":"60dc05733134f374fa727bbe2541de32"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"60dc05733134f374fa727bbe2541de32","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695","requestID":"60dc05733134f374fa727bbe2541de32"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":993,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":993,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.10011,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"60dc05733134f374fa727bbe2541de32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"60dc05733134f374fa727bbe2541de32","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Attempting to finish experiment","requestID":"60dc05733134f374fa727bbe2541de32"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"be71ccd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":994,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":994,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.676984,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be71ccd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222243,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0M30.-p0BaRXPW_OmFW7HONE5cCCnMFqEShMAyk-xWa_X-FA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"be71ccd0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:57:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f?id=33315941-95ec-4880-825f-16b22580ebc1 HTTP/1.1","status": "101","body_bytes_sent":"872","request_time":"0.154","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"17d4f5dc84dfebe868e95bed3be52190"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"33315941-95ec-4880-825f-16b22580ebc1\" in room \"http://localhost/rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"33315941-95ec-4880-825f-16b22580ebc1\" from room \"http://localhost/rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a213d060-6b3e-40dc-9d20-27058c09e76d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"24/Sep/2024:23:57:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f?id=ee1e4f50-e647-4d9c-80b4-f8706f8f10cc HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.153","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"da78a2ed173377251e8539719c5c9a47"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"ee1e4f50-e647-4d9c-80b4-f8706f8f10cc\" in room \"http://localhost/rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"ee1e4f50-e647-4d9c-80b4-f8706f8f10cc\" from room \"http://localhost/rooms/ff5b709e-2464-4b2e-b927-d5250ed2191f\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d","device":"dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d0a442e531a397c109186c835b24b843","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d0a442e531a397c109186c835b24b843","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7d6dba31aac7277813fc982e872c68ac","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa213d060-6b3e-40dc-9d20-27058c09e76d': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa213d060-6b3e-40dc-9d20-27058c09e76d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"5337b667-2d66-4f75-b72b-cdba859eb947","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.8897662} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d"}}},"level":"info","message":"received a callback","requestID":"d0a442e531a397c109186c835b24b843"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e899097c-efbf-468d-ae4e-8eaa18634bb0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.8902593} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7d6dba31aac7277813fc982e872c68ac","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"be71ccd0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d"}}},"level":"info","message":"received a callback","requestID":"7d6dba31aac7277813fc982e872c68ac"} device-1 | {"data":{"peerconnection":"a213d060-6b3e-40dc-9d20-27058c09e76d","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"be71ccd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d 204 41ms","method":"DELETE","requestID":"be71ccd0-7ad0-11ef-9247-9909de679d1e","responseTime":41,"status":204,"url":"/peerconnections/a213d060-6b3e-40dc-9d20-27058c09e76d"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"},"level":"info","message":"Successfully finished experiment","requestID":"60dc05733134f374fa727bbe2541de32"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be7a7f60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":995,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fbd4238-107c-4fb6-85c4-a741f1937137","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b74231bb-f48a-44a7-b708-f550cac3c5d3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.9326785} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":995,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.589015,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be7a7f60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fbd4238-107c-4fb6-85c4-a741f1937137","object_type":"device","rebac_allow":false,"scope_allow":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":"be7a7f60-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be7a7f60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6fbd4238-107c-4fb6-85c4-a741f1937137/signaling 200 13ms","method":"POST","requestID":"be7a7f60-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/6fbd4238-107c-4fb6-85c4-a741f1937137/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3fd547c3-8d53-4022-af4a-10a1d3ac5695': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3fd547c3-8d53-4022-af4a-10a1d3ac5695","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"f9a2d7ee-1ea1-44eb-ac84-e564fc0bf06b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.9396362} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2cc7fa8-acee-444a-bd65-d9388756717e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.9399924} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"60dc05733134f374fa727bbe2541de32","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be7cc950-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":996,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfa1182f-d09c-46f9-bc6a-f4a2bb86f230","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"100ca447-324b-4745-9021-b4e667538cd1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222243.946124} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":996,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.410462,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be7cc950-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230","object_type":"device","rebac_allow":false,"scope_allow":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":"be7cc950-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be7cc950-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/signaling 200 10ms","method":"POST","requestID":"be7cc950-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695","requestID":"60dc05733134f374fa727bbe2541de32"} gateway-1 | {"time_local":"24/Sep/2024:23:57:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60dc05733134f374fa727bbe2541de32"} experiment-1 | {"level":"info","message":"DELETE /experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695 204 149ms","method":"DELETE","requestID":"60dc05733134f374fa727bbe2541de32","responseTime":149,"status":204,"url":"/experiments/3fd547c3-8d53-4022-af4a-10a1d3ac5695"} gateway-1 | {"time_local":"24/Sep/2024:23:57:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1782","request_time":"2.160","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"921ef71365ec759b3fe11ad68c3e4a37"} gateway-1 | {"time_local":"24/Sep/2024:23:57:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"d0a442e531a397c109186c835b24b843"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"d0a442e531a397c109186c835b24b843","responseTime":120,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"7d6dba31aac7277813fc982e872c68ac","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"7d6dba31aac7277813fc982e872c68ac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0NH0.rieTAzp1Zm7T98WyXm08S32BIYLKzgl4V7K5CRTqXHs","level":"info","message":"auth send jwt","requestID":"4910b89f40c7044fdeae75ae5ae196a5"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"4910b89f40c7044fdeae75ae5ae196a5","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4910b89f40c7044fdeae75ae5ae196a5"} gateway-1 | {"time_local":"24/Sep/2024:23:57:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2107","request_time":"0.676","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1fc13e9cd15b70365c5d9e1d8f65bc9f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":997,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:24Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":997,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.901611,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4910b89f40c7044fdeae75ae5ae196a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222244,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0NH0.rieTAzp1Zm7T98WyXm08S32BIYLKzgl4V7K5CRTqXHs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4910b89f40c7044fdeae75ae5ae196a5","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/6fbd4238-107c-4fb6-85c4-a741f1937137' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"84f871dc-4f02-46be-8cf5-9847ae8c08d1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.034394} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4910b89f40c7044fdeae75ae5ae196a5","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/dfa1182f-d09c-46f9-bc6a-f4a2bb86f230' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"785b4301-3c86-49db-8586-65e597349b21","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.0391123} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"4910b89f40c7044fdeae75ae5ae196a5","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"738efc86-6630-4bf1-8e86-e89ef07f599b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.046522} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32dd60a3-4d13-4a06-b592-c1868b0cddcf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.0466013} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"4910b89f40c7044fdeae75ae5ae196a5","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.046485045Z"}]},"request_id":"6355429c-fcd6-43b6-abcb-1cc40ff872dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.0513096} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4910b89f40c7044fdeae75ae5ae196a5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4910b89f40c7044fdeae75ae5ae196a5"} gateway-1 | {"time_local":"24/Sep/2024:23:57:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4910b89f40c7044fdeae75ae5ae196a5"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"4910b89f40c7044fdeae75ae5ae196a5","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0NH0.rieTAzp1Zm7T98WyXm08S32BIYLKzgl4V7K5CRTqXHs","level":"info","message":"auth send jwt","requestID":"af25a984719236fa1b22369a0b9348fa"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"af25a984719236fa1b22369a0b9348fa","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"af25a984719236fa1b22369a0b9348fa"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":998,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:24Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":998,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.682313,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"af25a984719236fa1b22369a0b9348fa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222244,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0NH0.rieTAzp1Zm7T98WyXm08S32BIYLKzgl4V7K5CRTqXHs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"af25a984719236fa1b22369a0b9348fa","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"03cefd8a-bb28-45dc-8e32-ddfc75991f9e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.0797052} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"af25a984719236fa1b22369a0b9348fa","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9dc1e60-dfa5-49fe-b663-23b4b6290150","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.0849607} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"af25a984719236fa1b22369a0b9348fa","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"1c71c379-f293-4cfb-a6c9-09e17680a643","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.09512} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a4bb977-4d5c-4f9d-9364-9399e5d74ae3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.0952294} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"af25a984719236fa1b22369a0b9348fa","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.095082260Z"}]},"request_id":"5ddaf441-9558-4032-85c1-4d9fad9628de","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.0989661} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"af25a984719236fa1b22369a0b9348fa","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"af25a984719236fa1b22369a0b9348fa"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"af25a984719236fa1b22369a0b9348fa","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af25a984719236fa1b22369a0b9348fa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0NH0.rieTAzp1Zm7T98WyXm08S32BIYLKzgl4V7K5CRTqXHs","level":"info","message":"auth send jwt","requestID":"f0acab10f86dae56a16320cb40f6fb17"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f0acab10f86dae56a16320cb40f6fb17","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f0acab10f86dae56a16320cb40f6fb17"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":999,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:24Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":999,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.654856,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f0acab10f86dae56a16320cb40f6fb17","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222244,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0NH0.rieTAzp1Zm7T98WyXm08S32BIYLKzgl4V7K5CRTqXHs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f0acab10f86dae56a16320cb40f6fb17","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.046485045Z"}]},"request_id":"f152d5fa-e075-4442-a928-390b90d55a62","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.5789032} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f0acab10f86dae56a16320cb40f6fb17","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"403c1171-2576-4e30-bda2-4d5a7c3a0e22","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.5852304} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"f0acab10f86dae56a16320cb40f6fb17","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.046485045Z"}]},"request_id":"47b71ad3-2fc9-4134-9b78-2fe913f4503c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222244.597588} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f0acab10f86dae56a16320cb40f6fb17","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f0acab10f86dae56a16320cb40f6fb17"} gateway-1 | {"time_local":"24/Sep/2024:23:57:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/920de1e0-a93f-4d81-b27a-19725a088e67 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"f0acab10f86dae56a16320cb40f6fb17"} device-1 | {"level":"info","message":"PATCH /devices/920de1e0-a93f-4d81-b27a-19725a088e67 200 35ms","method":"PATCH","requestID":"f0acab10f86dae56a16320cb40f6fb17","responseTime":35,"status":200,"url":"/devices/920de1e0-a93f-4d81-b27a-19725a088e67"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0NH0.rieTAzp1Zm7T98WyXm08S32BIYLKzgl4V7K5CRTqXHs","level":"info","message":"auth send jwt","requestID":"b2e80b2f4aa4e4af388014010b00b804"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b2e80b2f4aa4e4af388014010b00b804","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b2e80b2f4aa4e4af388014010b00b804"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1000,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:24Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1000,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.077009,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b2e80b2f4aa4e4af388014010b00b804","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222244,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0NH0.rieTAzp1Zm7T98WyXm08S32BIYLKzgl4V7K5CRTqXHs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b2e80b2f4aa4e4af388014010b00b804","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b2e80b2f4aa4e4af388014010b00b804"} gateway-1 | {"time_local":"24/Sep/2024:23:57:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/920de1e0-a93f-4d81-b27a-19725a088e67/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"b2e80b2f4aa4e4af388014010b00b804"} device-1 | {"level":"info","message":"POST /devices/920de1e0-a93f-4d81-b27a-19725a088e67/websocket 200 22ms","method":"POST","requestID":"b2e80b2f4aa4e4af388014010b00b804","responseTime":22,"status":200,"url":"/devices/920de1e0-a93f-4d81-b27a-19725a088e67/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1ea7e753444431bf0ac2f9fe3459c17b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1ea7e753444431bf0ac2f9fe3459c17b","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/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":"1ea7e753444431bf0ac2f9fe3459c17b"} device-1 | {"level":"info","message":"OPTIONS /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/websocket 200 1ms","method":"OPTIONS","requestID":"1ea7e753444431bf0ac2f9fe3459c17b","responseTime":1,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ","level":"info","message":"auth send jwt","requestID":"1686711c283d40d428b338c0ff1a3952"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1686711c283d40d428b338c0ff1a3952","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1686711c283d40d428b338c0ff1a3952"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1001,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1001,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.215459,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1686711c283d40d428b338c0ff1a3952","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1686711c283d40d428b338c0ff1a3952","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1686711c283d40d428b338c0ff1a3952"} device-1 | {"level":"info","message":"POST /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/websocket 200 18ms","method":"POST","requestID":"1686711c283d40d428b338c0ff1a3952","responseTime":18,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/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":"1686711c283d40d428b338c0ff1a3952"} device-1 | {"level":"info","message":"device 'http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c8b3cdd00b926c314b23dbd086116c90","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c8b3cdd00b926c314b23dbd086116c90","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"c8b3cdd00b926c314b23dbd086116c90"} device-1 | {"level":"info","message":"OPTIONS /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23? 200 1ms","method":"OPTIONS","requestID":"c8b3cdd00b926c314b23dbd086116c90","responseTime":1,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ","level":"info","message":"auth send jwt","requestID":"ac0cba91dbc461791eb06ff8e892d8fd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ac0cba91dbc461791eb06ff8e892d8fd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ac0cba91dbc461791eb06ff8e892d8fd"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1002,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1002,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.141206,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac0cba91dbc461791eb06ff8e892d8fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ac0cba91dbc461791eb06ff8e892d8fd","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.095082260Z"}]},"request_id":"72c834c1-0c06-451d-8bf9-61810d310e9b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.1784601} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ac0cba91dbc461791eb06ff8e892d8fd","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b0d0066-fe36-4d43-ac2d-90f434de7c00","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.1856177} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"ac0cba91dbc461791eb06ff8e892d8fd","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.095082260Z"}]},"request_id":"d8e8da36-4f02-4dc3-88a1-881c6cb7ca8a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.1976697} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"ac0cba91dbc461791eb06ff8e892d8fd","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ac0cba91dbc461791eb06ff8e892d8fd"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23? HTTP/1.1","status": "200","body_bytes_sent":"1007","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":"ac0cba91dbc461791eb06ff8e892d8fd"} device-1 | {"level":"info","message":"PATCH /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23? 200 37ms","method":"PATCH","requestID":"ac0cba91dbc461791eb06ff8e892d8fd","responseTime":37,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ","level":"info","message":"auth send jwt","requestID":"e3fa76367482176b4bf5108003b16e8a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e3fa76367482176b4bf5108003b16e8a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e3fa76367482176b4bf5108003b16e8a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1003,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1003,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.269279,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e3fa76367482176b4bf5108003b16e8a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e3fa76367482176b4bf5108003b16e8a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.046485045Z"}]},"request_id":"f0695435-5072-4a01-94a2-b3dfb1c3ef4e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.230313} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e3fa76367482176b4bf5108003b16e8a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e3fa76367482176b4bf5108003b16e8a"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/920de1e0-a93f-4d81-b27a-19725a088e67? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3fa76367482176b4bf5108003b16e8a"} device-1 | {"level":"info","message":"GET /devices/920de1e0-a93f-4d81-b27a-19725a088e67? 200 17ms","method":"GET","requestID":"e3fa76367482176b4bf5108003b16e8a","responseTime":17,"status":200,"url":"/devices/920de1e0-a93f-4d81-b27a-19725a088e67?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ","level":"info","message":"auth send jwt","requestID":"0dfb0e44611120139181e73c7b771cac"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"0dfb0e44611120139181e73c7b771cac","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0dfb0e44611120139181e73c7b771cac"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1004,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1004,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.601573,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0dfb0e44611120139181e73c7b771cac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0dfb0e44611120139181e73c7b771cac","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.095082260Z"}]},"request_id":"ed61b270-b7d4-4be6-acb5-4509db15746b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.2622552} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"0dfb0e44611120139181e73c7b771cac","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0dfb0e44611120139181e73c7b771cac"} device-1 | {"level":"info","message":"GET /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23? 200 22ms","method":"GET","requestID":"0dfb0e44611120139181e73c7b771cac","responseTime":22,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0dfb0e44611120139181e73c7b771cac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ","level":"info","message":"auth send jwt","requestID":"2341ddb285a23eb6b24b218eb3051e53"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2341ddb285a23eb6b24b218eb3051e53","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"2341ddb285a23eb6b24b218eb3051e53"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1005,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1005,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.101284,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2341ddb285a23eb6b24b218eb3051e53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2341ddb285a23eb6b24b218eb3051e53","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Attempting to run experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Attempting to book experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Successfully booked experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bfe66b70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bfe69280-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1006,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1006,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.776075,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1007,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bfe66b70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bfe66b70-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1007,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.311595,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bfe69280-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bfe69280-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.046485045Z"}]},"request_id":"2c7ae5c3-4214-4eb2-9593-55859c16c12a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.3202553} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bfe66b70-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.095082260Z"}]},"request_id":"f0e194ee-1839-4d26-91cd-81e573a6b830","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.3211718} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bfe69280-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bfe66b70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/920de1e0-a93f-4d81-b27a-19725a088e67? 200 16ms","method":"GET","requestID":"bfe66b70-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/920de1e0-a93f-4d81-b27a-19725a088e67?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bfe69280-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23? 200 16ms","method":"GET","requestID":"bfe69280-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Setting up experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Successfully set up experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bff05680-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bff07d90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bff0cbb0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Successfully running experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1008,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1008,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732691,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1009,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bff05680-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bff05680-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1009,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86318,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Received request.","req_id":1010,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bff07d90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bff07d90-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Sent response.","req_id":1010,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.658829,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88079a7f-1459-405a-90c3-16a9bf89a8f5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.3846412} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bff0cbb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","object_type":"device","rebac_allow":false,"scope_allow":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":"bff0cbb0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.046485045Z"}]},"request_id":"87bbf706-0275-4d38-a4c6-ddcec6e5db07","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.386423} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"bff05680-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bff0cbb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.095082260Z"}]},"request_id":"2f8173f2-9899-4b93-9090-a371a4d291e5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.3892925} device-1 | {"level":"info","message":"POST /devices/920de1e0-a93f-4d81-b27a-19725a088e67/signaling 200 11ms","method":"POST","requestID":"bff0cbb0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/920de1e0-a93f-4d81-b27a-19725a088e67/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bff07d90-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bff2c780-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1011,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bff05680-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/920de1e0-a93f-4d81-b27a-19725a088e67? 200 20ms","method":"GET","requestID":"bff05680-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/920de1e0-a93f-4d81-b27a-19725a088e67?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bff07d90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23? 200 20ms","method":"GET","requestID":"bff07d90-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a1c8196-6444-4449-b305-6fd821f917b2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.397377} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1011,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.423378,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bff2c780-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bff2c780-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bff3d8f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bff2c780-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F572ca690-d40a-4490-87cc-231412795d4a#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F572ca690-d40a-4490-87cc-231412795d4a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"eb423c65-b182-4f4c-b629-fd39ff5c51a7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.4015841} device-1 | {"level":"info","message":"POST /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/signaling 200 10ms","method":"POST","requestID":"bff2c780-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff0f073e-4c91-42d1-865c-ecec7b610828","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.4018383} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1012,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"2341ddb285a23eb6b24b218eb3051e53","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3756015-d5b5-4eb8-af43-14ed82bb80c8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.4046943} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1012,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.296378,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bff3d8f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bff3d8f0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bff3d8f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/920de1e0-a93f-4d81-b27a-19725a088e67/signaling 200 11ms","method":"POST","requestID":"bff3d8f0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/920de1e0-a93f-4d81-b27a-19725a088e67/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bff5fbd0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"2341ddb285a23eb6b24b218eb3051e53"} experiment-1 | {"level":"info","message":"POST /experiments? 201 137ms","method":"POST","requestID":"2341ddb285a23eb6b24b218eb3051e53","responseTime":137,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1292","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2341ddb285a23eb6b24b218eb3051e53"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1013,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ","level":"info","message":"auth send jwt","requestID":"2df52913ee493b12d4600e0c45a65199"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2df52913ee493b12d4600e0c45a65199","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76a77a08-513b-4ed2-b3c1-5b0b75cb45ae","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.4200685} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2df52913ee493b12d4600e0c45a65199"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1013,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.937711,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bff5fbd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","object_type":"device","rebac_allow":false,"scope_allow":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":"bff5fbd0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1014,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bff5fbd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1014,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.965314,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} device-1 | {"level":"info","message":"POST /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/signaling 200 12ms","method":"POST","requestID":"bff5fbd0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2df52913ee493b12d4600e0c45a65199","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2df52913ee493b12d4600e0c45a65199","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bff845c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bff86cd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.046485045Z"}]},"request_id":"349b859d-b828-49b9-8249-d2bb930be43c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.4301014} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2df52913ee493b12d4600e0c45a65199","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1015,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1015,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844091,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1016,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1016,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.748598,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bff845c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bff845c0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bff86cd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bff86cd0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2df52913ee493b12d4600e0c45a65199"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/920de1e0-a93f-4d81-b27a-19725a088e67? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2df52913ee493b12d4600e0c45a65199"} device-1 | {"level":"info","message":"GET /devices/920de1e0-a93f-4d81-b27a-19725a088e67? 200 18ms","method":"GET","requestID":"2df52913ee493b12d4600e0c45a65199","responseTime":18,"status":200,"url":"/devices/920de1e0-a93f-4d81-b27a-19725a088e67?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.046485045Z"}]},"request_id":"39be0a75-2f33-42f0-bbe9-bd74c1efddc5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.4378428} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bff845c0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.095082260Z"}]},"request_id":"0692b024-10ce-4c70-812d-3e7661bd5bcc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.4395683} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bff86cd0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ","level":"info","message":"auth send jwt","requestID":"59ab54f6f39c3dc076488896b21bdc75"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"59ab54f6f39c3dc076488896b21bdc75","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bff845c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/920de1e0-a93f-4d81-b27a-19725a088e67? 200 16ms","method":"GET","requestID":"bff845c0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/920de1e0-a93f-4d81-b27a-19725a088e67?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bff86cd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23? 200 16ms","method":"GET","requestID":"bff86cd0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"59ab54f6f39c3dc076488896b21bdc75"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Building connection plan","requestID":"2341ddb285a23eb6b24b218eb3051e53"} 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":"47203583-b5b4-40b3-a892-22d78eac8da1"},{"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":"0f5552e1-561b-4cf1-9276-1acb4af72686"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"725b23a5-c856-4c8c-8c57-2cf937b520cd"}]},"level":"info","message":"Built pairwise service configurations","requestID":"2341ddb285a23eb6b24b218eb3051e53"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"bffb2bf0-7ad0-11ef-a772-4d02dbd671ac"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1017,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"bffb2bf0-7ad0-11ef-a772-4d02dbd671ac"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1017,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806392,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} forwarding-1 | {"level":"info","message":"POST /rooms 201 2ms","method":"POST","requestID":"bffb2bf0-7ad0-11ef-a772-4d02dbd671ac","responseTime":2,"status":201,"url":"/rooms"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"59ab54f6f39c3dc076488896b21bdc75","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"59ab54f6f39c3dc076488896b21bdc75","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/301adef9-e5a2-4322-a721-399f652a863c?id=4e516861-7582-48da-9499-5e76398189db","ws://localhost/rooms/301adef9-e5a2-4322-a721-399f652a863c?id=fa8f3fb8-73d9-41ad-b680-634d11a7f26b"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"2341ddb285a23eb6b24b218eb3051e53"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"bffbc830-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:24.095082260Z"}]},"request_id":"b6d245f7-92bb-4829-b786-ad1d95762140","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.4530053} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"59ab54f6f39c3dc076488896b21bdc75","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1018,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1018,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.715835,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bffbc830-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bffbc830-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"59ab54f6f39c3dc076488896b21bdc75"} device-1 | {"level":"info","message":"GET /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23? 200 13ms","method":"GET","requestID":"59ab54f6f39c3dc076488896b21bdc75","responseTime":13,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59ab54f6f39c3dc076488896b21bdc75"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"ef683179-caec-4898-9551-805c6cb97368","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.4639292} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3b47a5b-a817-4bca-abb7-3b0b913d08a9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.4642463} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"bffbc830-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"bffbc830-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"bffbc830-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492'","requestID":"bffbc830-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492'","requestID":"bffbc830-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"bffbc830-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 24ms","method":"POST","requestID":"bffbc830-7ad0-11ef-9247-9909de679d1e","responseTime":24,"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":"bffbc830-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"93cd53d1-c2c1-4ef1-96ec-c8280f19c492","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c461aa4e2d859f2cc566d16ec0a59a06","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"c000f850-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"fa8f3fb8-73d9-41ad-b680-634d11a7f26b\" in room \"http://localhost/rooms/301adef9-e5a2-4322-a721-399f652a863c\"","requestID":"c000f850-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"c000f850-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c461aa4e2d859f2cc566d16ec0a59a06","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"c0014670-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"4e516861-7582-48da-9499-5e76398189db\" in room \"http://localhost/rooms/301adef9-e5a2-4322-a721-399f652a863c\"","requestID":"c0014670-7ad0-11ef-a772-4d02dbd671ac"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492"}}},"level":"info","message":"received a callback","requestID":"c461aa4e2d859f2cc566d16ec0a59a06"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"c0014670-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"4e516861-7582-48da-9499-5e76398189db\" in room \"http://localhost/rooms/301adef9-e5a2-4322-a721-399f652a863c\"","requestID":"c0014670-7ad0-11ef-a772-4d02dbd671ac"} device-1 | {"data":{"peerconnection":"93cd53d1-c2c1-4ef1-96ec-c8280f19c492","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"c461aa4e2d859f2cc566d16ec0a59a06","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"c461aa4e2d859f2cc566d16ec0a59a06"} device-1 | {"data":{"peerconnection":"93cd53d1-c2c1-4ef1-96ec-c8280f19c492","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"2341ddb285a23eb6b24b218eb3051e53"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0053e10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1019,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a45d86a-ee26-471d-af50-20418504dd04","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.5172741} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1019,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.333704,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c0053e10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","object_type":"device","rebac_allow":false,"scope_allow":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":"c0053e10-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"93cd53d1-c2c1-4ef1-96ec-c8280f19c492","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b4a6d2e6fa52ebc34edf002ea0f0b4f8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b4a6d2e6fa52ebc34edf002ea0f0b4f8","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0053e10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/920de1e0-a93f-4d81-b27a-19725a088e67/signaling 200 9ms","method":"POST","requestID":"c0053e10-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/920de1e0-a93f-4d81-b27a-19725a088e67/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c006ebc0-7ad0-11ef-9247-9909de679d1e"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492"}}},"level":"info","message":"received a callback","requestID":"b4a6d2e6fa52ebc34edf002ea0f0b4f8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1020,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0ebe720-134a-482a-877e-c3ddcf678f38","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.527807} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1020,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.45197,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c006ebc0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","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":"getPeerconnectionsByPeerconnectionId called","requestID":"c007af10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c006ebc0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1021,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c006ebc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/signaling 200 8ms","method":"POST","requestID":"c006ebc0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F93cd53d1-c2c1-4ef1-96ec-c8280f19c492","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69f13c47-b807-484b-8f43-f0f262f44178","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.5332556} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1021,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.456915,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c007af10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492","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":"c007af10-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c007af10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492 200 7ms","method":"GET","requestID":"c007af10-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"b4a6d2e6fa52ebc34edf002ea0f0b4f8","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"b4a6d2e6fa52ebc34edf002ea0f0b4f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c00b0a70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1022,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2da4689-4436-48e9-9af9-ff1f88840749","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.5556488} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1022,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.40803,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c00b0a70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c00b0a70-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c00b0a70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/signaling 200 8ms","method":"POST","requestID":"c00b0a70-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c00c9110-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1023,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8826802-5ffa-4053-a575-6138fda415f4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.5649335} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1023,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.205947,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c00c9110-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","object_type":"device","rebac_allow":false,"scope_allow":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":"c00c9110-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c00c9110-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/920de1e0-a93f-4d81-b27a-19725a088e67/signaling 200 7ms","method":"POST","requestID":"c00c9110-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/devices/920de1e0-a93f-4d81-b27a-19725a088e67/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ","level":"info","message":"auth send jwt","requestID":"ce8351ab61407b37819ce84b463cbd60"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ce8351ab61407b37819ce84b463cbd60","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/572ca690-d40a-4490-87cc-231412795d4a","requestID":"ce8351ab61407b37819ce84b463cbd60"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1024,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1024,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.796923,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ce8351ab61407b37819ce84b463cbd60","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ce8351ab61407b37819ce84b463cbd60","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/572ca690-d40a-4490-87cc-231412795d4a","requestID":"ce8351ab61407b37819ce84b463cbd60"} experiment-1 | {"level":"info","message":"GET /experiments/572ca690-d40a-4490-87cc-231412795d4a 200 11ms","method":"GET","requestID":"ce8351ab61407b37819ce84b463cbd60","responseTime":11,"status":200,"url":"/experiments/572ca690-d40a-4490-87cc-231412795d4a"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/572ca690-d40a-4490-87cc-231412795d4a HTTP/1.1","status": "200","body_bytes_sent":"1365","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce8351ab61407b37819ce84b463cbd60"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ","level":"info","message":"auth send jwt","requestID":"07018ea5e9979579c4f76e3f20a2d5a5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"07018ea5e9979579c4f76e3f20a2d5a5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/572ca690-d40a-4490-87cc-231412795d4a","requestID":"07018ea5e9979579c4f76e3f20a2d5a5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1025,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1025,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.654738,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"07018ea5e9979579c4f76e3f20a2d5a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"07018ea5e9979579c4f76e3f20a2d5a5","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Attempting to finish experiment","requestID":"07018ea5e9979579c4f76e3f20a2d5a5"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c016a330-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1026,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1026,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.272668,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c016a330-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c016a330-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/301adef9-e5a2-4322-a721-399f652a863c?id=fa8f3fb8-73d9-41ad-b680-634d11a7f26b HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.155","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"79e5f1bed9da03d379be5e18181a1b89"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"fa8f3fb8-73d9-41ad-b680-634d11a7f26b\" in room \"http://localhost/rooms/301adef9-e5a2-4322-a721-399f652a863c\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"fa8f3fb8-73d9-41ad-b680-634d11a7f26b\" from room \"http://localhost/rooms/301adef9-e5a2-4322-a721-399f652a863c\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492","device":"44123d7e-410c-4ee6-97e0-74c7c1b8bb23","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/301adef9-e5a2-4322-a721-399f652a863c?id=4e516861-7582-48da-9499-5e76398189db HTTP/1.1","status": "101","body_bytes_sent":"460","request_time":"0.154","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fac9d1bf355c49232e9d9dc2a8d0e694"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"4e516861-7582-48da-9499-5e76398189db\" in room \"http://localhost/rooms/301adef9-e5a2-4322-a721-399f652a863c\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"4e516861-7582-48da-9499-5e76398189db\" from room \"http://localhost/rooms/301adef9-e5a2-4322-a721-399f652a863c\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"93cd53d1-c2c1-4ef1-96ec-c8280f19c492","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"855b89704cc45f51d74b0c9d74a1b860","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F93cd53d1-c2c1-4ef1-96ec-c8280f19c492': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F93cd53d1-c2c1-4ef1-96ec-c8280f19c492","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"ed294574-e3b4-44b7-afb3-f5504a15006b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.6445553} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"855b89704cc45f51d74b0c9d74a1b860","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4fb0446-5090-4887-adb0-55c2a8be5da3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.64483} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b7d9c7bdc9c5dcebb5335377003764d0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492"}}},"level":"info","message":"received a callback","requestID":"855b89704cc45f51d74b0c9d74a1b860"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b7d9c7bdc9c5dcebb5335377003764d0","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"c016a330-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/relations/update"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492"}}},"level":"info","message":"received a callback","requestID":"b7d9c7bdc9c5dcebb5335377003764d0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c016a330-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492 204 34ms","method":"DELETE","requestID":"c016a330-7ad0-11ef-9247-9909de679d1e","responseTime":34,"status":204,"url":"/peerconnections/93cd53d1-c2c1-4ef1-96ec-c8280f19c492"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23'"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/572ca690-d40a-4490-87cc-231412795d4a"},"level":"info","message":"Successfully finished experiment","requestID":"07018ea5e9979579c4f76e3f20a2d5a5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c01f2eb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1027,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44123d7e-410c-4ee6-97e0-74c7c1b8bb23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d35ec021-e885-4781-b000-80a0945b7d50","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.6887696} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1027,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.406429,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c01f2eb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c01f2eb0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c01f2eb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/signaling 200 10ms","method":"POST","requestID":"c01f2eb0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F572ca690-d40a-4490-87cc-231412795d4a': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F572ca690-d40a-4490-87cc-231412795d4a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"c7835599-6cf3-4abc-85c0-edad5c4a8523","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.6952803} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"927150dd-0309-41b3-87a1-44c543bef3d2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.6955047} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0212a80-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"07018ea5e9979579c4f76e3f20a2d5a5","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1028,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F920de1e0-a93f-4d81-b27a-19725a088e67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6553c79b-d6b6-4469-a3d8-934527a196bf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.7002363} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1028,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.172773,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c0212a80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/920de1e0-a93f-4d81-b27a-19725a088e67","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c0212a80-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0212a80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/920de1e0-a93f-4d81-b27a-19725a088e67/signaling 200 10ms","method":"POST","requestID":"c0212a80-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/920de1e0-a93f-4d81-b27a-19725a088e67/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/572ca690-d40a-4490-87cc-231412795d4a","requestID":"07018ea5e9979579c4f76e3f20a2d5a5"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/572ca690-d40a-4490-87cc-231412795d4a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"07018ea5e9979579c4f76e3f20a2d5a5"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1783","request_time":"2.125","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"2abca621c47c51f371646ae4655161de"} experiment-1 | {"level":"info","message":"DELETE /experiments/572ca690-d40a-4490-87cc-231412795d4a 204 140ms","method":"DELETE","requestID":"07018ea5e9979579c4f76e3f20a2d5a5","responseTime":140,"status":204,"url":"/experiments/572ca690-d40a-4490-87cc-231412795d4a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"855b89704cc45f51d74b0c9d74a1b860","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"855b89704cc45f51d74b0c9d74a1b860"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ","level":"info","message":"auth send jwt","requestID":"e95979f900348cdaf3939d00a616ba79"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"b7d9c7bdc9c5dcebb5335377003764d0","responseTime":114,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e95979f900348cdaf3939d00a616ba79","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"b7d9c7bdc9c5dcebb5335377003764d0"} device-1 | {"level":"info","message":"postDevices called","requestID":"e95979f900348cdaf3939d00a616ba79"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1029,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1029,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.908605,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2106","request_time":"0.638","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9e070a14e55a300bc2301965359d09a9"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e95979f900348cdaf3939d00a616ba79","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e95979f900348cdaf3939d00a616ba79","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/920de1e0-a93f-4d81-b27a-19725a088e67' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"794d330f-b5eb-44fd-ae7e-5289fdbeb9e0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.7817934} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e95979f900348cdaf3939d00a616ba79","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/44123d7e-410c-4ee6-97e0-74c7c1b8bb23' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6de4817a-471e-42a0-8f75-7c696b369e8c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.7874238} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e95979f900348cdaf3939d00a616ba79","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"cfcf35fc-7944-42f2-9cca-167148783151","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.795566} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ce30bc3-2058-4087-8427-92d315f3a79a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.7957125} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"e95979f900348cdaf3939d00a616ba79","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.795538833Z"}]},"request_id":"ac67c5b5-fd15-4099-a7d9-3a893988cda6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.800951} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e95979f900348cdaf3939d00a616ba79","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e95979f900348cdaf3939d00a616ba79"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"e95979f900348cdaf3939d00a616ba79","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e95979f900348cdaf3939d00a616ba79"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ","level":"info","message":"auth send jwt","requestID":"6655ed73ee1d479cb5774f001c8c1368"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6655ed73ee1d479cb5774f001c8c1368","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6655ed73ee1d479cb5774f001c8c1368"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1030,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1030,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.723312,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6655ed73ee1d479cb5774f001c8c1368","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222246,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0Nn0.p5kR0nykDKPEZSY_nOQURZXPm7z7PR77vBLyfpCMQCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6655ed73ee1d479cb5774f001c8c1368","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"36e64283-ebee-4ed0-875f-69799b2933ca","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.82842} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6655ed73ee1d479cb5774f001c8c1368","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28edcad7-52aa-4d76-84c8-dfa3afbdc6da","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.8328764} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6655ed73ee1d479cb5774f001c8c1368","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"f7e95600-e4a5-45e4-a1b0-013fd680b45c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.8434186} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07f6431c-f3ad-4995-9d08-e09a72d6c37f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.843499} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"6655ed73ee1d479cb5774f001c8c1368","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.843381296Z"}]},"request_id":"8a8eb195-f45d-4a3d-b44b-7ebd41f99825","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222246.8474894} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6655ed73ee1d479cb5774f001c8c1368","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6655ed73ee1d479cb5774f001c8c1368"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"6655ed73ee1d479cb5774f001c8c1368","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6655ed73ee1d479cb5774f001c8c1368"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0N30.bQQMjgm455HfxxvKWknCRjYGPlT5WRdfnKbqsIWe6ys","level":"info","message":"auth send jwt","requestID":"b5551482328bd566fc8e46e9b69e1686"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b5551482328bd566fc8e46e9b69e1686","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b5551482328bd566fc8e46e9b69e1686"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1031,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1031,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.176132,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b5551482328bd566fc8e46e9b69e1686","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222247,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0N30.bQQMjgm455HfxxvKWknCRjYGPlT5WRdfnKbqsIWe6ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b5551482328bd566fc8e46e9b69e1686","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.795538833Z"}]},"request_id":"f69c86cc-36f7-4671-b04f-a39ac1d38c1a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222247.346101} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b5551482328bd566fc8e46e9b69e1686","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca8744f3-b991-4595-be13-3318e9087de7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222247.3526323} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b5551482328bd566fc8e46e9b69e1686","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.795538833Z"}]},"request_id":"b983a0d6-212a-489e-91fe-1531fca77393","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222247.364384} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b5551482328bd566fc8e46e9b69e1686","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b5551482328bd566fc8e46e9b69e1686"} gateway-1 | {"time_local":"24/Sep/2024:23:57:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/20010b99-637a-4aae-8138-8661721f6a8e HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"b5551482328bd566fc8e46e9b69e1686"} device-1 | {"level":"info","message":"PATCH /devices/20010b99-637a-4aae-8138-8661721f6a8e 200 33ms","method":"PATCH","requestID":"b5551482328bd566fc8e46e9b69e1686","responseTime":33,"status":200,"url":"/devices/20010b99-637a-4aae-8138-8661721f6a8e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0N30.bQQMjgm455HfxxvKWknCRjYGPlT5WRdfnKbqsIWe6ys","level":"info","message":"auth send jwt","requestID":"b3157c3f539dd6f02dfcd6324d36bab5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b3157c3f539dd6f02dfcd6324d36bab5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b3157c3f539dd6f02dfcd6324d36bab5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1032,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1032,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.26039,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b3157c3f539dd6f02dfcd6324d36bab5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222247,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0N30.bQQMjgm455HfxxvKWknCRjYGPlT5WRdfnKbqsIWe6ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b3157c3f539dd6f02dfcd6324d36bab5","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b3157c3f539dd6f02dfcd6324d36bab5"} device-1 | {"level":"info","message":"POST /devices/20010b99-637a-4aae-8138-8661721f6a8e/websocket 200 21ms","method":"POST","requestID":"b3157c3f539dd6f02dfcd6324d36bab5","responseTime":21,"status":200,"url":"/devices/20010b99-637a-4aae-8138-8661721f6a8e/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/20010b99-637a-4aae-8138-8661721f6a8e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"b3157c3f539dd6f02dfcd6324d36bab5"} device-1 | {"level":"info","message":"device 'http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1321260611ca984c8007fc7de7e4111b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1321260611ca984c8007fc7de7e4111b","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/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":"1321260611ca984c8007fc7de7e4111b"} device-1 | {"level":"info","message":"OPTIONS /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/websocket 200 1ms","method":"OPTIONS","requestID":"1321260611ca984c8007fc7de7e4111b","responseTime":1,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OH0.EW25Lig0NpIMJhs-UL2ldWI-gJ1tIMoNi4aWj7G4KMg","level":"info","message":"auth send jwt","requestID":"5eb2af8d228a5b8b7f1341098f0f17fa"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5eb2af8d228a5b8b7f1341098f0f17fa","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5eb2af8d228a5b8b7f1341098f0f17fa"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1033,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:28Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1033,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.730672,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5eb2af8d228a5b8b7f1341098f0f17fa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222248,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OH0.EW25Lig0NpIMJhs-UL2ldWI-gJ1tIMoNi4aWj7G4KMg"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"5eb2af8d228a5b8b7f1341098f0f17fa","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5eb2af8d228a5b8b7f1341098f0f17fa"} device-1 | {"level":"info","message":"POST /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/websocket 200 24ms","method":"POST","requestID":"5eb2af8d228a5b8b7f1341098f0f17fa","responseTime":24,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/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":"5eb2af8d228a5b8b7f1341098f0f17fa"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2d2493857347ef4637e6c7375ff94734","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2d2493857347ef4637e6c7375ff94734","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"2d2493857347ef4637e6c7375ff94734"} device-1 | {"level":"info","message":"OPTIONS /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca? 200 1ms","method":"OPTIONS","requestID":"2d2493857347ef4637e6c7375ff94734","responseTime":1,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OH0.EW25Lig0NpIMJhs-UL2ldWI-gJ1tIMoNi4aWj7G4KMg","level":"info","message":"auth send jwt","requestID":"2f477b943988e7678796dcbd227b034b"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2f477b943988e7678796dcbd227b034b","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2f477b943988e7678796dcbd227b034b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1034,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:28Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1034,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.37099,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2f477b943988e7678796dcbd227b034b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222248,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OH0.EW25Lig0NpIMJhs-UL2ldWI-gJ1tIMoNi4aWj7G4KMg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2f477b943988e7678796dcbd227b034b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.843381296Z"}]},"request_id":"5c4b6ca3-4eaa-4f69-9f9b-41ce1b7ef662","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222248.977289} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2f477b943988e7678796dcbd227b034b","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f3dede7-ebff-4e7b-a8e4-5f9dab61b05d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222248.9851766} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"2f477b943988e7678796dcbd227b034b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.843381296Z"}]},"request_id":"0c98ed07-e43c-42de-b609-a3f5a4484504","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222248.997301} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"2f477b943988e7678796dcbd227b034b","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2f477b943988e7678796dcbd227b034b"} device-1 | {"level":"info","message":"PATCH /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca? 200 36ms","method":"PATCH","requestID":"2f477b943988e7678796dcbd227b034b","responseTime":36,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2f477b943988e7678796dcbd227b034b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90","level":"info","message":"auth send jwt","requestID":"98e2bcc1266879c61be8ab3914525ec6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"98e2bcc1266879c61be8ab3914525ec6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"98e2bcc1266879c61be8ab3914525ec6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1035,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1035,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.290126,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"98e2bcc1266879c61be8ab3914525ec6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"98e2bcc1266879c61be8ab3914525ec6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.795538833Z"}]},"request_id":"12838453-7163-40f7-b9b9-7dcef88d703d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.0266793} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"98e2bcc1266879c61be8ab3914525ec6","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"98e2bcc1266879c61be8ab3914525ec6"} device-1 | {"level":"info","message":"GET /devices/20010b99-637a-4aae-8138-8661721f6a8e? 200 17ms","method":"GET","requestID":"98e2bcc1266879c61be8ab3914525ec6","responseTime":17,"status":200,"url":"/devices/20010b99-637a-4aae-8138-8661721f6a8e?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/20010b99-637a-4aae-8138-8661721f6a8e? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"98e2bcc1266879c61be8ab3914525ec6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90","level":"info","message":"auth send jwt","requestID":"680244b08d56098b9bf37893d309f637"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"680244b08d56098b9bf37893d309f637","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"680244b08d56098b9bf37893d309f637"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1036,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1036,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.30978,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"680244b08d56098b9bf37893d309f637","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"680244b08d56098b9bf37893d309f637","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.843381296Z"}]},"request_id":"f394f5c7-bf6e-4f92-b7e6-963e4ff2c245","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.0507028} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"680244b08d56098b9bf37893d309f637","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"680244b08d56098b9bf37893d309f637"} device-1 | {"level":"info","message":"GET /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca? 200 17ms","method":"GET","requestID":"680244b08d56098b9bf37893d309f637","responseTime":17,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"680244b08d56098b9bf37893d309f637"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90","level":"info","message":"auth send jwt","requestID":"8aa43704ce5318ffd956df7300eea280"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8aa43704ce5318ffd956df7300eea280","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"8aa43704ce5318ffd956df7300eea280"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1037,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1037,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.437807,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8aa43704ce5318ffd956df7300eea280","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8aa43704ce5318ffd956df7300eea280","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Attempting to run experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Attempting to book experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Successfully booked experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c1915c50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c1918360-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1038,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1038,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935553,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1039,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1915c50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c1915c50-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1039,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663556,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1918360-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c1918360-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.795538833Z"}]},"request_id":"30480c7d-1729-43d7-93f0-b9a0a0179392","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.1165297} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c1915c50-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.843381296Z"}]},"request_id":"5c461024-1903-4816-a70d-af006588cf4b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.1171024} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c1918360-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c1915c50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/20010b99-637a-4aae-8138-8661721f6a8e? 200 13ms","method":"GET","requestID":"c1915c50-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/20010b99-637a-4aae-8138-8661721f6a8e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c1918360-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca? 200 14ms","method":"GET","requestID":"c1918360-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Setting up experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Successfully locked booking for experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Attempting to update booking for experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Successfully updated booking for experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Successfully set up experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c19b6e70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c19bbc90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c19be3a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1040,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1040,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694326,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1041,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Successfully running experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c19b6e70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c19b6e70-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1041,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602087,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c19bbc90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c19bbc90-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1042,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3603e197-b8b2-428c-8ffc-be263b5dba42","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.183176} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1042,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.133233,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c19be3a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","object_type":"device","rebac_allow":false,"scope_allow":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":"c19be3a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.795538833Z"}]},"request_id":"d4062ca7-2891-4b25-94d8-4060d1ef14d0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.1849182} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.843381296Z"}]},"request_id":"11debe21-06cf-4f9d-af0c-5d208c74986c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.185852} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c19b6e70-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c19bbc90-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c19b6e70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/20010b99-637a-4aae-8138-8661721f6a8e? 200 17ms","method":"GET","requestID":"c19b6e70-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/20010b99-637a-4aae-8138-8661721f6a8e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c19be3a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/20010b99-637a-4aae-8138-8661721f6a8e/signaling 200 15ms","method":"POST","requestID":"c19be3a0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/20010b99-637a-4aae-8138-8661721f6a8e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c19bbc90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca? 200 18ms","method":"GET","requestID":"c19bbc90-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c19ea2c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c19ef0e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F15e85a84-f1ec-4d33-ab1c-cf80384934ac#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F15e85a84-f1ec-4d33-ab1c-cf80384934ac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"66daba79-550b-4967-a2cb-8073b26c4260","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.2003229} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3a6a1d3-bcdd-4001-8e9c-808fb9406f1c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.2009194} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1043,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1044,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"8aa43704ce5318ffd956df7300eea280","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b4a82c9-f81e-43c4-a84a-811c00cb5204","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.2039995} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26528b33-8b27-48ad-9a35-d8012a1b7506","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.205258} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1043,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.23115,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1044,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.482551,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c19ea2c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","object_type":"device","rebac_allow":false,"scope_allow":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":"c19ea2c0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c19ef0e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","object_type":"device","rebac_allow":false,"scope_allow":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":"c19ef0e0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c19ea2c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/signaling 200 16ms","method":"POST","requestID":"c19ea2c0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c19ef0e0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"8aa43704ce5318ffd956df7300eea280"} device-1 | {"level":"info","message":"POST /devices/20010b99-637a-4aae-8138-8661721f6a8e/signaling 200 15ms","method":"POST","requestID":"c19ef0e0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/20010b99-637a-4aae-8138-8661721f6a8e/signaling"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1292","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8aa43704ce5318ffd956df7300eea280"} experiment-1 | {"level":"info","message":"POST /experiments? 201 150ms","method":"POST","requestID":"8aa43704ce5318ffd956df7300eea280","responseTime":150,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1a1d710-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90","level":"info","message":"auth send jwt","requestID":"06b898d1789ccab9adfd93b8344fd273"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"06b898d1789ccab9adfd93b8344fd273","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1045,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"06b898d1789ccab9adfd93b8344fd273"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9612bc3e-f06b-4b32-8fc6-33fa4c33c17e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.223112} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1045,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.932762,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1046,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1a1d710-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","object_type":"device","rebac_allow":false,"scope_allow":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":"c1a1d710-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1046,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926272,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"06b898d1789ccab9adfd93b8344fd273","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"06b898d1789ccab9adfd93b8344fd273","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1a1d710-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/signaling 200 12ms","method":"POST","requestID":"c1a1d710-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.795538833Z"}]},"request_id":"26e8e3ac-740c-4710-9635-ccdb39c09323","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.230065} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"06b898d1789ccab9adfd93b8344fd273","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c1a44810-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c1a46f20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"06b898d1789ccab9adfd93b8344fd273"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1047,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/20010b99-637a-4aae-8138-8661721f6a8e? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06b898d1789ccab9adfd93b8344fd273"} device-1 | {"level":"info","message":"GET /devices/20010b99-637a-4aae-8138-8661721f6a8e? 200 15ms","method":"GET","requestID":"06b898d1789ccab9adfd93b8344fd273","responseTime":15,"status":200,"url":"/devices/20010b99-637a-4aae-8138-8661721f6a8e?"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1048,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1047,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.337185,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1a44810-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c1a44810-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1048,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.003011,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1a46f20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c1a46f20-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90","level":"info","message":"auth send jwt","requestID":"471138f5267b0415cb4a5b0b19518af3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"471138f5267b0415cb4a5b0b19518af3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"471138f5267b0415cb4a5b0b19518af3"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.795538833Z"}]},"request_id":"23663a38-179a-4977-9069-6a1f85ac50fd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.2438474} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c1a44810-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.843381296Z"}]},"request_id":"0e632fcb-b51a-4f8e-9395-859f062e6540","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.2449026} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c1a44810-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c1a46f20-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1049,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1049,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907141,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} device-1 | {"level":"info","message":"GET /devices/20010b99-637a-4aae-8138-8661721f6a8e? 200 15ms","method":"GET","requestID":"c1a44810-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/20010b99-637a-4aae-8138-8661721f6a8e?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"471138f5267b0415cb4a5b0b19518af3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"471138f5267b0415cb4a5b0b19518af3","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c1a46f20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca? 200 17ms","method":"GET","requestID":"c1a46f20-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:26.843381296Z"}]},"request_id":"406b9b66-a636-4083-98d7-3da92b6a0b96","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.2521648} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Building connection plan","requestID":"8aa43704ce5318ffd956df7300eea280"} 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":"3891c37d-b54e-4de9-82f8-47e9c2f12779"},{"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":"499d969a-8d86-4137-82f2-5c9d98af7483"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"3e2342e7-6db6-4e88-a7aa-712418fe2c2d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"8aa43704ce5318ffd956df7300eea280"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"471138f5267b0415cb4a5b0b19518af3","responseTime":3,"status":200,"url":"/relations/query"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"c1a7a370-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"c1a7a370-7ad0-11ef-a772-4d02dbd671ac"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"471138f5267b0415cb4a5b0b19518af3"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"c1a7a370-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} device-1 | {"level":"info","message":"GET /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca? 200 13ms","method":"GET","requestID":"471138f5267b0415cb4a5b0b19518af3","responseTime":13,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"471138f5267b0415cb4a5b0b19518af3"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e?id=e3a8757f-0e72-4815-8d10-d6183ac19a81","ws://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e?id=e84bf00f-e670-4e3f-8fd5-68c8499579dd"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"8aa43704ce5318ffd956df7300eea280"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c1a83fb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1050,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1050,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.272327,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1a83fb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c1a83fb0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"d55b873a-8901-4eb6-bfa2-5884e388a0ab","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.2739823} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"352d034c-be1e-4fa7-b6b5-d0dfadb8c6ab","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.274437} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"c1a83fb0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c1a83fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c1a83fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82'","requestID":"c1a83fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82'","requestID":"c1a83fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c1a83fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 29ms","method":"POST","requestID":"c1a83fb0-7ad0-11ef-9247-9909de679d1e","responseTime":29,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c1a83fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"766dbf31-9a66-4338-bc27-46cc2c779f82","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"c1ae8140-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"e84bf00f-e670-4e3f-8fd5-68c8499579dd\" in room \"http://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e\"","requestID":"c1ae8140-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"c1ae8140-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"914b18c0812ac11f402eb6b84ada075a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"914b18c0812ac11f402eb6b84ada075a","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"c1af1d80-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"e3a8757f-0e72-4815-8d10-d6183ac19a81\" in room \"http://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e\"","requestID":"c1af1d80-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"c1af1d80-7ad0-11ef-a772-4d02dbd671ac"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82"}}},"level":"info","message":"received a callback","requestID":"914b18c0812ac11f402eb6b84ada075a"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"e3a8757f-0e72-4815-8d10-d6183ac19a81\" in room \"http://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e\"","requestID":"c1af1d80-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"e3a8757f-0e72-4815-8d10-d6183ac19a81\" in room \"http://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"e3a8757f-0e72-4815-8d10-d6183ac19a81\" in room \"http://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"e3a8757f-0e72-4815-8d10-d6183ac19a81\" in room \"http://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"e3a8757f-0e72-4815-8d10-d6183ac19a81\" in room \"http://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e\""} device-1 | {"data":{"peerconnection":"766dbf31-9a66-4338-bc27-46cc2c779f82","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"914b18c0812ac11f402eb6b84ada075a","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"914b18c0812ac11f402eb6b84ada075a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"8aa43704ce5318ffd956df7300eea280"} device-1 | {"data":{"peerconnection":"766dbf31-9a66-4338-bc27-46cc2c779f82","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1b251d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1051,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd677505-02bf-4937-b634-853b455524cc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.330196} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1051,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.652146,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1b251d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","object_type":"device","rebac_allow":false,"scope_allow":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":"c1b251d0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"766dbf31-9a66-4338-bc27-46cc2c779f82","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1b251d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/20010b99-637a-4aae-8138-8661721f6a8e/signaling 200 18ms","method":"POST","requestID":"c1b251d0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/20010b99-637a-4aae-8138-8661721f6a8e/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b65baeea72b9938669fdff45bd9d47b0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b65baeea72b9938669fdff45bd9d47b0","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1b55f10-7ad0-11ef-9247-9909de679d1e"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82"}}},"level":"info","message":"received a callback","requestID":"b65baeea72b9938669fdff45bd9d47b0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1052,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22302375-9ac6-473b-bc17-7f754f00e297","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.350494} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1052,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.805386,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1b55f10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","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":"getPeerconnectionsByPeerconnectionId called","requestID":"c1b64970-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c1b55f10-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1053,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F766dbf31-9a66-4338-bc27-46cc2c779f82","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd076bc2-549f-493b-9604-0b806fff62c3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.3565862} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1b55f10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/signaling 200 12ms","method":"POST","requestID":"c1b55f10-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1053,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.97693,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1b64970-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82","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":"c1b64970-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c1b64970-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82 200 11ms","method":"GET","requestID":"c1b64970-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"b65baeea72b9938669fdff45bd9d47b0","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"b65baeea72b9938669fdff45bd9d47b0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1ba4110-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1054,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5521ee78-87c5-43b2-b1d5-590f7f02d92b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.3827484} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1054,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.646515,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1ba4110-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c1ba4110-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1ba4110-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/signaling 200 10ms","method":"POST","requestID":"c1ba4110-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1bc15d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1055,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5eebe022-2b41-472f-b864-29ab4640b379","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.3936474} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1055,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.878989,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1bc15d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c1bc15d0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1bc15d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/20010b99-637a-4aae-8138-8661721f6a8e/signaling 200 9ms","method":"POST","requestID":"c1bc15d0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/20010b99-637a-4aae-8138-8661721f6a8e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90","level":"info","message":"auth send jwt","requestID":"693299b0c6ef246641939e2e3d847e23"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"693299b0c6ef246641939e2e3d847e23","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac","requestID":"693299b0c6ef246641939e2e3d847e23"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1056,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1056,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.838775,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"693299b0c6ef246641939e2e3d847e23","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"693299b0c6ef246641939e2e3d847e23","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac","requestID":"693299b0c6ef246641939e2e3d847e23"} experiment-1 | {"level":"info","message":"GET /experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac 200 12ms","method":"GET","requestID":"693299b0c6ef246641939e2e3d847e23","responseTime":12,"status":200,"url":"/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac HTTP/1.1","status": "200","body_bytes_sent":"1365","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"693299b0c6ef246641939e2e3d847e23"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90","level":"info","message":"auth send jwt","requestID":"578cc04554b38565e7cb77ef7280f076"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"578cc04554b38565e7cb77ef7280f076","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac","requestID":"578cc04554b38565e7cb77ef7280f076"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1057,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1057,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.200002,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"578cc04554b38565e7cb77ef7280f076","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"578cc04554b38565e7cb77ef7280f076","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Attempting to finish experiment","requestID":"578cc04554b38565e7cb77ef7280f076"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c1c564a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1058,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1058,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.404445,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1c564a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c1c564a0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e?id=e84bf00f-e670-4e3f-8fd5-68c8499579dd HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.166","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"0ee6db52d41b6594eddbe40230390521"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"e84bf00f-e670-4e3f-8fd5-68c8499579dd\" in room \"http://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"e84bf00f-e670-4e3f-8fd5-68c8499579dd\" from room \"http://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82","device":"6d48ccde-0958-41cd-a8b6-e56476eba8ca","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/766dbf31-9a66-4338-bc27-46cc2c779f82' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"766dbf31-9a66-4338-bc27-46cc2c779f82","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e?id=e3a8757f-0e72-4815-8d10-d6183ac19a81 HTTP/1.1","status": "101","body_bytes_sent":"918","request_time":"0.167","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"eac9186fe57a09fe262a16c46a8cfde8"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"e3a8757f-0e72-4815-8d10-d6183ac19a81\" in room \"http://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"e3a8757f-0e72-4815-8d10-d6183ac19a81\" from room \"http://localhost/rooms/5879eafb-df9f-492d-aa9e-ab3049a5ae0e\""} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0d028536d1bbaec4328feadda57f2b2f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0d028536d1bbaec4328feadda57f2b2f","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F766dbf31-9a66-4338-bc27-46cc2c779f82': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F766dbf31-9a66-4338-bc27-46cc2c779f82","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"4d211e1f-55e9-4f19-9573-4f162e72bbea","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.4741776} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cbeb667b789442e5bd81f5902713dadc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82"}}},"level":"info","message":"received a callback","requestID":"0d028536d1bbaec4328feadda57f2b2f"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"876f9799-e2b5-49bc-9ade-bd93b4511739","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.474594} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cbeb667b789442e5bd81f5902713dadc","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82"}}},"level":"info","message":"received a callback","requestID":"cbeb667b789442e5bd81f5902713dadc"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"c1c564a0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"766dbf31-9a66-4338-bc27-46cc2c779f82","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c1c564a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82 204 43ms","method":"DELETE","requestID":"c1c564a0-7ad0-11ef-9247-9909de679d1e","responseTime":43,"status":204,"url":"/peerconnections/766dbf31-9a66-4338-bc27-46cc2c779f82"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"},"level":"info","message":"Successfully finished experiment","requestID":"578cc04554b38565e7cb77ef7280f076"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1cf76c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1059,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d48ccde-0958-41cd-a8b6-e56476eba8ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48d948e7-7176-47c3-812c-e68e74d17255","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.5211608} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1059,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.239079,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1cf76c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca","object_type":"device","rebac_allow":false,"scope_allow":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":"c1cf76c0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1cf76c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/signaling 200 10ms","method":"POST","requestID":"c1cf76c0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/6d48ccde-0958-41cd-a8b6-e56476eba8ca/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1d17290-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F15e85a84-f1ec-4d33-ab1c-cf80384934ac': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F15e85a84-f1ec-4d33-ab1c-cf80384934ac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"954abd50-afc8-424a-bc79-3f08d35546e2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.530219} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1481899-3ce9-41de-875a-929098449c58","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.5304246} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"578cc04554b38565e7cb77ef7280f076","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1060,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F20010b99-637a-4aae-8138-8661721f6a8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28cab5af-3457-44c8-b7cd-ee014f77ba2e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.5385168} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1060,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.506264,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c1d17290-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e","object_type":"device","rebac_allow":false,"scope_allow":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":"c1d17290-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1d17290-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/20010b99-637a-4aae-8138-8661721f6a8e/signaling 200 14ms","method":"POST","requestID":"c1d17290-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/20010b99-637a-4aae-8138-8661721f6a8e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac","requestID":"578cc04554b38565e7cb77ef7280f076"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"578cc04554b38565e7cb77ef7280f076"} experiment-1 | {"level":"info","message":"DELETE /experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac 204 160ms","method":"DELETE","requestID":"578cc04554b38565e7cb77ef7280f076","responseTime":160,"status":204,"url":"/experiments/15e85a84-f1ec-4d33-ab1c-cf80384934ac"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1783","request_time":"2.199","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"540fefd23476c6b013b501e8063fb274"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"0d028536d1bbaec4328feadda57f2b2f","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"0d028536d1bbaec4328feadda57f2b2f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"cbeb667b789442e5bd81f5902713dadc","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"cbeb667b789442e5bd81f5902713dadc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90","level":"info","message":"auth send jwt","requestID":"a66c1b6865d1a1b8d3a5a0d7cbaa8cab"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a66c1b6865d1a1b8d3a5a0d7cbaa8cab","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a66c1b6865d1a1b8d3a5a0d7cbaa8cab"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1061,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2106","request_time":"0.687","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"add1f9781e6c0ca68efde8ab4e3fb1c0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1061,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.959207,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a66c1b6865d1a1b8d3a5a0d7cbaa8cab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a66c1b6865d1a1b8d3a5a0d7cbaa8cab","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/20010b99-637a-4aae-8138-8661721f6a8e' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6bb7ac2c-bbed-40be-8f13-4e065ab8b26c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.6257105} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a66c1b6865d1a1b8d3a5a0d7cbaa8cab","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/6d48ccde-0958-41cd-a8b6-e56476eba8ca' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3d6f3dd-0b97-44ec-ac24-ccca9648d4af","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.6306553} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a66c1b6865d1a1b8d3a5a0d7cbaa8cab","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"7dd5ac80-1c75-4b59-a980-f748aae716b0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.6419933} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"948ab451-b016-4523-831b-84cfa7e05af4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.6422608} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"a66c1b6865d1a1b8d3a5a0d7cbaa8cab","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.641954001Z"}]},"request_id":"3b0762ab-bf70-4767-99c2-eb34e8b583e3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.6464586} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a66c1b6865d1a1b8d3a5a0d7cbaa8cab","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a66c1b6865d1a1b8d3a5a0d7cbaa8cab"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a66c1b6865d1a1b8d3a5a0d7cbaa8cab"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"a66c1b6865d1a1b8d3a5a0d7cbaa8cab","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90","level":"info","message":"auth send jwt","requestID":"50975679922834193b016450bf74085a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"50975679922834193b016450bf74085a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"50975679922834193b016450bf74085a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1062,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1062,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.833044,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"50975679922834193b016450bf74085a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222249,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI0OX0.T45NJ9B3I1heN0Uetmk0IUQ5Og1eZf8CPBmsCObUr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"50975679922834193b016450bf74085a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"63392d6f-2f8b-4853-9a81-2973e5492fcf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.6744025} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"50975679922834193b016450bf74085a","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a8f09cd-02ab-4f33-8b44-5872c0256f17","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.6791193} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"50975679922834193b016450bf74085a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"e5664ea2-deb0-43a2-801f-a045a3a7d7ae","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.690461} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f523da5-5775-4f58-a82a-a36d83067f21","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.690781} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"50975679922834193b016450bf74085a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.690418383Z"}]},"request_id":"e265152c-9cb5-42cc-8be3-9b617234e1ee","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222249.695244} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"50975679922834193b016450bf74085a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"50975679922834193b016450bf74085a"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"50975679922834193b016450bf74085a","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50975679922834193b016450bf74085a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"ca886ea3242597de791ac9bd4361c858"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ca886ea3242597de791ac9bd4361c858","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"4407093496f7484716dc0bdce35bc1b3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4407093496f7484716dc0bdce35bc1b3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ca886ea3242597de791ac9bd4361c858"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4407093496f7484716dc0bdce35bc1b3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1063,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1063,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.791346,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ca886ea3242597de791ac9bd4361c858","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ca886ea3242597de791ac9bd4361c858","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1064,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1064,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895566,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4407093496f7484716dc0bdce35bc1b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4407093496f7484716dc0bdce35bc1b3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.690418383Z"}]},"request_id":"ddaa2555-20ea-42f1-bee0-8627ba399043","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.1679015} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ca886ea3242597de791ac9bd4361c858","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.641954001Z"}]},"request_id":"9b804b7c-9200-42cc-af81-11dd867f5ce8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.1690044} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4407093496f7484716dc0bdce35bc1b3","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d7f87fa-acc0-41b6-97f7-3f876df31783","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.1731076} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ca886ea3242597de791ac9bd4361c858","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc2692f4-2f80-453e-8899-ef6be4731297","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.1741464} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4407093496f7484716dc0bdce35bc1b3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.641954001Z"}]},"request_id":"157022d6-f897-47c0-ad52-6fca0d4fe022","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.176878} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4407093496f7484716dc0bdce35bc1b3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4407093496f7484716dc0bdce35bc1b3"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/cceddee6-d23e-47f3-99cc-1f49bc102059 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"4407093496f7484716dc0bdce35bc1b3"} device-1 | {"level":"info","message":"PATCH /devices/cceddee6-d23e-47f3-99cc-1f49bc102059 200 20ms","method":"PATCH","requestID":"4407093496f7484716dc0bdce35bc1b3","responseTime":20,"status":200,"url":"/devices/cceddee6-d23e-47f3-99cc-1f49bc102059"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"8d6665cda0e74d3120788a589eab347e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8d6665cda0e74d3120788a589eab347e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8d6665cda0e74d3120788a589eab347e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1065,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1065,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.905569,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8d6665cda0e74d3120788a589eab347e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8d6665cda0e74d3120788a589eab347e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.690418383Z"}]},"request_id":"c9a42cd5-13e8-4957-905e-12332c375adf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.1878746} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ca886ea3242597de791ac9bd4361c858","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ca886ea3242597de791ac9bd4361c858"} device-1 | {"level":"info","message":"PATCH /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6 200 34ms","method":"PATCH","requestID":"ca886ea3242597de791ac9bd4361c858","responseTime":34,"status":200,"url":"/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"ca886ea3242597de791ac9bd4361c858"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"9b62ec78fa21764f5f80187fb0c27557"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9b62ec78fa21764f5f80187fb0c27557","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9b62ec78fa21764f5f80187fb0c27557"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1066,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1066,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725618,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9b62ec78fa21764f5f80187fb0c27557","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9b62ec78fa21764f5f80187fb0c27557","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8d6665cda0e74d3120788a589eab347e"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cceddee6-d23e-47f3-99cc-1f49bc102059/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"8d6665cda0e74d3120788a589eab347e"} device-1 | {"level":"info","message":"POST /devices/cceddee6-d23e-47f3-99cc-1f49bc102059/websocket 200 18ms","method":"POST","requestID":"8d6665cda0e74d3120788a589eab347e","responseTime":18,"status":200,"url":"/devices/cceddee6-d23e-47f3-99cc-1f49bc102059/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9b62ec78fa21764f5f80187fb0c27557"} device-1 | {"level":"info","message":"POST /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/websocket 200 19ms","method":"POST","requestID":"9b62ec78fa21764f5f80187fb0c27557","responseTime":19,"status":200,"url":"/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"9b62ec78fa21764f5f80187fb0c27557"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"56ff9e669f56f4cc615bcf4e53f265ed"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"56ff9e669f56f4cc615bcf4e53f265ed","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"56ff9e669f56f4cc615bcf4e53f265ed"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1067,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1067,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659955,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"56ff9e669f56f4cc615bcf4e53f265ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"56ff9e669f56f4cc615bcf4e53f265ed","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.641954001Z"}]},"request_id":"72af21ab-c619-4039-bc8c-04807b6a0111","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.2485476} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"56ff9e669f56f4cc615bcf4e53f265ed","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"56ff9e669f56f4cc615bcf4e53f265ed"} device-1 | {"level":"info","message":"GET /devices/cceddee6-d23e-47f3-99cc-1f49bc102059? 200 11ms","method":"GET","requestID":"56ff9e669f56f4cc615bcf4e53f265ed","responseTime":11,"status":200,"url":"/devices/cceddee6-d23e-47f3-99cc-1f49bc102059?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cceddee6-d23e-47f3-99cc-1f49bc102059? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56ff9e669f56f4cc615bcf4e53f265ed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"3f5ce1f0e769c03a2d06130925dca3fc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3f5ce1f0e769c03a2d06130925dca3fc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3f5ce1f0e769c03a2d06130925dca3fc"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1068,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1068,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631294,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3f5ce1f0e769c03a2d06130925dca3fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3f5ce1f0e769c03a2d06130925dca3fc","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.690418383Z"}]},"request_id":"624bb9c2-ad28-4df1-bbbe-577e561a6c2b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.263496} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3f5ce1f0e769c03a2d06130925dca3fc","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3f5ce1f0e769c03a2d06130925dca3fc"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f5ce1f0e769c03a2d06130925dca3fc"} device-1 | {"level":"info","message":"GET /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6? 200 10ms","method":"GET","requestID":"3f5ce1f0e769c03a2d06130925dca3fc","responseTime":10,"status":200,"url":"/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cfd2c96793a9e1b25709c9b39afb4392","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1069,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1069,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.158315,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cfd2c96793a9e1b25709c9b39afb4392","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cfd2c96793a9e1b25709c9b39afb4392","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Attempting to run experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Attempting to book experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Successfully booked experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c24961b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c249afd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1070,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1070,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.105625,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c24961b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c24961b0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1071,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1071,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663018,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c249afd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c249afd0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.641954001Z"}]},"request_id":"652a183f-0b79-4f5c-b69a-5e07e8b87987","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.3248398} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.690418383Z"}]},"request_id":"f42bb70a-2197-47eb-9c47-eb3c879e91bc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.3312356} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"c24961b0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c249afd0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c24961b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/cceddee6-d23e-47f3-99cc-1f49bc102059? 200 22ms","method":"GET","requestID":"c24961b0-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/cceddee6-d23e-47f3-99cc-1f49bc102059?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c249afd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6? 200 21ms","method":"GET","requestID":"c249afd0-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Setting up experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Successfully locked booking for experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Attempting to update booking for experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Successfully updated booking for experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Successfully set up experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c2539ae0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c253c1f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c253e900-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Successfully running experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1072,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1072,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927492,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c2539ae0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c2539ae0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1073,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1073,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.020404,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Received request.","req_id":1074,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Sent response.","req_id":1074,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.437894,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c253c1f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c253c1f0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93ada225-2660-4e11-b8b8-fb42be379e14","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.3898232} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c253e900-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","object_type":"device","rebac_allow":false,"scope_allow":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":"c253e900-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.641954001Z"}]},"request_id":"0dcb620d-8b70-49ef-a5bd-a71937673da7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.395484} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c253e900-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cceddee6-d23e-47f3-99cc-1f49bc102059/signaling 200 14ms","method":"POST","requestID":"c253e900-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/cceddee6-d23e-47f3-99cc-1f49bc102059/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c2539ae0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.690418383Z"}]},"request_id":"f4108dea-2c8b-4ab8-a5d1-0da1f425ae23","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.398274} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c253c1f0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c2568110-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c2539ae0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1075,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} device-1 | {"level":"info","message":"GET /devices/cceddee6-d23e-47f3-99cc-1f49bc102059? 200 22ms","method":"GET","requestID":"c2539ae0-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/cceddee6-d23e-47f3-99cc-1f49bc102059?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c253c1f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6? 200 22ms","method":"GET","requestID":"c253c1f0-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9bf5b2c-29c0-441b-a53a-59d1dd1fa5cb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.4065056} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1075,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.291782,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c2576b70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c2568110-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","object_type":"device","rebac_allow":false,"scope_allow":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":"c2568110-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1076,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c2568110-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/signaling 200 10ms","method":"POST","requestID":"c2568110-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4edfc9aa-d7d6-493f-a3bf-1bac78d04952","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.4120352} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff6685dbb-6c6a-430d-ace0-12cc68aef160#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff6685dbb-6c6a-430d-ace0-12cc68aef160","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"275989c3-b9ae-4131-a1e5-08efc41bd94d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.4127202} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1076,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.087487,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c2576b70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","object_type":"device","rebac_allow":false,"scope_allow":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":"c2576b70-7ad0-11ef-9247-9909de679d1e","responseTime":6,"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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ed7bcb7-9fc9-4cb9-b13d-93b0b8138c3a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.41313} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"cfd2c96793a9e1b25709c9b39afb4392","responseTime":26,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c2576b70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cceddee6-d23e-47f3-99cc-1f49bc102059/signaling 200 9ms","method":"POST","requestID":"c2576b70-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/cceddee6-d23e-47f3-99cc-1f49bc102059/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c2594030-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1077,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1296","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} experiment-1 | {"level":"info","message":"POST /experiments? 201 150ms","method":"POST","requestID":"cfd2c96793a9e1b25709c9b39afb4392","responseTime":150,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66b89cb1-2e06-4f38-a0b0-00d91f8c1468","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.424076} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1077,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.356614,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c2594030-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c2594030-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"d613425279c020b1b235c92886419693"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c2594030-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d613425279c020b1b235c92886419693","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/signaling 200 9ms","method":"POST","requestID":"c2594030-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d613425279c020b1b235c92886419693"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c25aede0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c25b14f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1078,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1078,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734705,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d613425279c020b1b235c92886419693","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d613425279c020b1b235c92886419693","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1079,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1079,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.816406,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c25aede0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c25aede0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1080,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1080,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.574283,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c25b14f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c25b14f0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.641954001Z"}]},"request_id":"969e06b0-41b7-41a5-8cff-5202bbc57807","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.437242} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d613425279c020b1b235c92886419693","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.641954001Z"}]},"request_id":"766d342a-70a0-4845-be6c-120f57942099","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.4394388} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c25aede0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.690418383Z"}]},"request_id":"507fd027-c848-44a2-9c61-92493de8c12d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.4416842} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c25b14f0-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d613425279c020b1b235c92886419693"} device-1 | {"level":"info","message":"GET /devices/cceddee6-d23e-47f3-99cc-1f49bc102059? 200 15ms","method":"GET","requestID":"d613425279c020b1b235c92886419693","responseTime":15,"status":200,"url":"/devices/cceddee6-d23e-47f3-99cc-1f49bc102059?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cceddee6-d23e-47f3-99cc-1f49bc102059? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d613425279c020b1b235c92886419693"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c25aede0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/cceddee6-d23e-47f3-99cc-1f49bc102059? 200 15ms","method":"GET","requestID":"c25aede0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/cceddee6-d23e-47f3-99cc-1f49bc102059?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c25b14f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6? 200 15ms","method":"GET","requestID":"c25b14f0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"d3805957e01abe309721706b061f4dc9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Building connection plan","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} 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":"3784c060-b23b-4b0a-af4c-5a7eb309383a"},{"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":"f3cbdcf9-7b2e-4490-bdfb-30db34efb525"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"f206aa59-3c2f-409a-9872-eed8d3c6a18f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d3805957e01abe309721706b061f4dc9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d3805957e01abe309721706b061f4dc9"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"c25dad00-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"c25dad00-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"c25dad00-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1081,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1081,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682971,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5?id=c9a9da44-09bf-42ea-baa3-d27262ec8354","ws://localhost/rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5?id=98e32416-3d91-46f4-80d4-a37fdef8c72d"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d3805957e01abe309721706b061f4dc9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d3805957e01abe309721706b061f4dc9","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c25e4940-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1082,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1082,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.795513,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c25e4940-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c25e4940-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:29.690418383Z"}]},"request_id":"869d9514-9752-4fbd-a488-1bea65f7c269","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.4563782} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d3805957e01abe309721706b061f4dc9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d3805957e01abe309721706b061f4dc9"} device-1 | {"level":"info","message":"GET /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6? 200 13ms","method":"GET","requestID":"d3805957e01abe309721706b061f4dc9","responseTime":13,"status":200,"url":"/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3805957e01abe309721706b061f4dc9"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"84eb13f8-35eb-4b44-adc3-c3112f84d393","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.464546} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1872e828-cc56-41e4-ad97-5fa9719fb1bb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.4648771} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c25e4940-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c25e4940-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c25e4940-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb'","requestID":"c25e4940-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb'","requestID":"c25e4940-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c25e4940-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 24ms","method":"POST","requestID":"c25e4940-7ad0-11ef-9247-9909de679d1e","responseTime":24,"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":"c25e4940-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0a02df15-3a99-41b1-9ce5-c5cba57ee7bb","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"c263a070-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"98e32416-3d91-46f4-80d4-a37fdef8c72d\" in room \"http://localhost/rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5\"","requestID":"c263a070-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"c263a070-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"c263c780-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"c9a9da44-09bf-42ea-baa3-d27262ec8354\" in room \"http://localhost/rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5\"","requestID":"c263c780-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"c263c780-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9fd3d63a746abb87aaa72cfa37b22002","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"98e32416-3d91-46f4-80d4-a37fdef8c72d\" in room \"http://localhost/rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5\""} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"9fd3d63a746abb87aaa72cfa37b22002","responseTime":0,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"98e32416-3d91-46f4-80d4-a37fdef8c72d\" in room \"http://localhost/rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"98e32416-3d91-46f4-80d4-a37fdef8c72d\" in room \"http://localhost/rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"98e32416-3d91-46f4-80d4-a37fdef8c72d\" in room \"http://localhost/rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5\""} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb"}}},"level":"info","message":"received a callback","requestID":"9fd3d63a746abb87aaa72cfa37b22002"} device-1 | {"data":{"peerconnection":"0a02df15-3a99-41b1-9ce5-c5cba57ee7bb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"9fd3d63a746abb87aaa72cfa37b22002","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"9fd3d63a746abb87aaa72cfa37b22002"} device-1 | {"data":{"peerconnection":"0a02df15-3a99-41b1-9ce5-c5cba57ee7bb","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"cfd2c96793a9e1b25709c9b39afb4392"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c26722e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1083,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06572238-65e3-4ed3-9291-7c996fd41e2a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.5146708} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1083,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.523,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c26722e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","object_type":"device","rebac_allow":false,"scope_allow":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":"c26722e0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0a02df15-3a99-41b1-9ce5-c5cba57ee7bb","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c26722e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cceddee6-d23e-47f3-99cc-1f49bc102059/signaling 200 16ms","method":"POST","requestID":"c26722e0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/cceddee6-d23e-47f3-99cc-1f49bc102059/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c1612319b07b2b340c1bd46730d3c567","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c1612319b07b2b340c1bd46730d3c567","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c269e200-7ad0-11ef-9247-9909de679d1e"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb"}}},"level":"info","message":"received a callback","requestID":"c1612319b07b2b340c1bd46730d3c567"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1084,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b7b33dc-a6ee-4cb5-b2bf-33d797012900","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.5325284} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1084,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.431079,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c26aa550-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c269e200-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c269e200-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1085,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0a02df15-3a99-41b1-9ce5-c5cba57ee7bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5091df7-522d-4c06-b423-0b4718b8952d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.5368412} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c269e200-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1085,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.120676,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} device-1 | {"level":"info","message":"POST /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/signaling 200 9ms","method":"POST","requestID":"c269e200-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c26aa550-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb","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":"c26aa550-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c26aa550-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb 200 7ms","method":"GET","requestID":"c26aa550-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"c1612319b07b2b340c1bd46730d3c567","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"c1612319b07b2b340c1bd46730d3c567"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c26e00b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1086,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed5bdbad-8993-4ba2-88a0-b341728ece6d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.5594819} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1086,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.273856,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c26e00b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c26e00b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c26e00b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cceddee6-d23e-47f3-99cc-1f49bc102059/signaling 200 8ms","method":"POST","requestID":"c26e00b0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/cceddee6-d23e-47f3-99cc-1f49bc102059/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c26f8750-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1087,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a5c5f0d-c32f-4180-944b-d474e23932a0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.5689604} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1087,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.17352,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c26f8750-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","object_type":"device","rebac_allow":false,"scope_allow":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":"c26f8750-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c26f8750-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/signaling 200 8ms","method":"POST","requestID":"c26f8750-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"2a81b7a8f37ac988f5a4caf68e060dd1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2a81b7a8f37ac988f5a4caf68e060dd1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160","requestID":"2a81b7a8f37ac988f5a4caf68e060dd1"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1088,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1088,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.03989,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2a81b7a8f37ac988f5a4caf68e060dd1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2a81b7a8f37ac988f5a4caf68e060dd1","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160","requestID":"2a81b7a8f37ac988f5a4caf68e060dd1"} experiment-1 | {"level":"info","message":"GET /experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160 200 10ms","method":"GET","requestID":"2a81b7a8f37ac988f5a4caf68e060dd1","responseTime":10,"status":200,"url":"/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160 HTTP/1.1","status": "200","body_bytes_sent":"1369","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a81b7a8f37ac988f5a4caf68e060dd1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"b95abdee8f0f390b251af345c5ac7ec0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b95abdee8f0f390b251af345c5ac7ec0","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160","requestID":"b95abdee8f0f390b251af345c5ac7ec0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1089,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1089,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.939152,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b95abdee8f0f390b251af345c5ac7ec0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b95abdee8f0f390b251af345c5ac7ec0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Attempting to finish experiment","requestID":"b95abdee8f0f390b251af345c5ac7ec0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c27812d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1090,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1090,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.288571,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c27812d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c27812d0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5?id=c9a9da44-09bf-42ea-baa3-d27262ec8354 HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.144","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"ac67e7cf58cc8d836ac9ab8c8ce01696"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5?id=98e32416-3d91-46f4-80d4-a37fdef8c72d HTTP/1.1","status": "101","body_bytes_sent":"458","request_time":"0.144","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"7a0e39089d2b1c7e5b90f2c082e7cdd6"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"c9a9da44-09bf-42ea-baa3-d27262ec8354\" in room \"http://localhost/rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"c9a9da44-09bf-42ea-baa3-d27262ec8354\" from room \"http://localhost/rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5\""} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"98e32416-3d91-46f4-80d4-a37fdef8c72d\" in room \"http://localhost/rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"98e32416-3d91-46f4-80d4-a37fdef8c72d\" from room \"http://localhost/rooms/c3ce325f-1840-4c53-a2f2-ea1cccd0c8d5\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0a02df15-3a99-41b1-9ce5-c5cba57ee7bb","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5c162f0a0882a82fe121f7e1e9696212","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5c162f0a0882a82fe121f7e1e9696212","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"53d7bd7974aa3835b696631f0fcfd0f1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"53d7bd7974aa3835b696631f0fcfd0f1","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb"}}},"level":"info","message":"received a callback","requestID":"5c162f0a0882a82fe121f7e1e9696212"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0a02df15-3a99-41b1-9ce5-c5cba57ee7bb': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0a02df15-3a99-41b1-9ce5-c5cba57ee7bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"f70f8e05-b935-4a9a-94a8-966151aa26f3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.6363912} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe294730-b01e-4d03-941c-065ee2af1fba","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.636629} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb"}}},"level":"info","message":"received a callback","requestID":"53d7bd7974aa3835b696631f0fcfd0f1"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"c27812d0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"0a02df15-3a99-41b1-9ce5-c5cba57ee7bb","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c27812d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb 204 32ms","method":"DELETE","requestID":"c27812d0-7ad0-11ef-9247-9909de679d1e","responseTime":32,"status":204,"url":"/peerconnections/0a02df15-3a99-41b1-9ce5-c5cba57ee7bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"},"level":"info","message":"Successfully finished experiment","requestID":"b95abdee8f0f390b251af345c5ac7ec0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c2805030-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1091,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcceddee6-d23e-47f3-99cc-1f49bc102059","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33222577-ec1e-430a-ad24-cc538f29a0be","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.6810923} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1091,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.539143,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c2805030-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cceddee6-d23e-47f3-99cc-1f49bc102059","object_type":"device","rebac_allow":false,"scope_allow":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":"c2805030-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c2805030-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cceddee6-d23e-47f3-99cc-1f49bc102059/signaling 200 12ms","method":"POST","requestID":"c2805030-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/cceddee6-d23e-47f3-99cc-1f49bc102059/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff6685dbb-6c6a-430d-ace0-12cc68aef160': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff6685dbb-6c6a-430d-ace0-12cc68aef160","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"ff0f0228-a499-42c9-9f55-e6c05cd1caca","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.6886423} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"998b73e4-005c-466a-a187-e4f19be5ae9b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.688912} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c2827310-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"b95abdee8f0f390b251af345c5ac7ec0","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1092,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93badbb4-4839-4acb-987c-9e6b1073b7f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d30cbd3-eeec-4d2e-82e1-cd9e2909ff2b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.6940484} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1092,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.280045,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c2827310-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c2827310-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c2827310-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/signaling 200 9ms","method":"POST","requestID":"c2827310-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/93badbb4-4839-4acb-987c-9e6b1073b7f6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160","requestID":"b95abdee8f0f390b251af345c5ac7ec0"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b95abdee8f0f390b251af345c5ac7ec0"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2105","request_time":"0.540","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"94abe341f0f9a8f535f7032a172da33b"} experiment-1 | {"level":"info","message":"DELETE /experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160 204 147ms","method":"DELETE","requestID":"b95abdee8f0f390b251af345c5ac7ec0","responseTime":147,"status":204,"url":"/experiments/f6685dbb-6c6a-430d-ace0-12cc68aef160"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2108","request_time":"0.553","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"81fb643e23f01d7efc27a14a6013d426"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"5c162f0a0882a82fe121f7e1e9696212","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"5c162f0a0882a82fe121f7e1e9696212"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"53d7bd7974aa3835b696631f0fcfd0f1","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"53d7bd7974aa3835b696631f0fcfd0f1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"bd2215e34133dfcf4f9c3dd804e90cd9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bd2215e34133dfcf4f9c3dd804e90cd9","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/cceddee6-d23e-47f3-99cc-1f49bc102059' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"bd2215e34133dfcf4f9c3dd804e90cd9"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1093,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1093,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.113458,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bd2215e34133dfcf4f9c3dd804e90cd9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bd2215e34133dfcf4f9c3dd804e90cd9","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/93badbb4-4839-4acb-987c-9e6b1073b7f6' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5db4c930-aef7-4145-be82-9ebb65e22ff4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.7860422} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bd2215e34133dfcf4f9c3dd804e90cd9","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc5abb01-e1fa-44f0-a88b-7e6f131c7b6a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.7918296} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bd2215e34133dfcf4f9c3dd804e90cd9","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"8dde0373-f997-4940-866a-815bb299cb7d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.800807} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9bdcc9c-807f-49f0-9668-cfdf1cf42a46","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.801084} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"bd2215e34133dfcf4f9c3dd804e90cd9","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.800773078Z"}]},"request_id":"23a530c5-0b1c-4842-a96f-268b204f50b7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.8059416} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bd2215e34133dfcf4f9c3dd804e90cd9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bd2215e34133dfcf4f9c3dd804e90cd9"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"bd2215e34133dfcf4f9c3dd804e90cd9","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd2215e34133dfcf4f9c3dd804e90cd9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc","level":"info","message":"auth send jwt","requestID":"6db54178fb379316d927c112566f42ca"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6db54178fb379316d927c112566f42ca","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6db54178fb379316d927c112566f42ca"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1094,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1094,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.72232,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6db54178fb379316d927c112566f42ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222250,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MH0.bP7TnDR0oUZZbd9soOwahzYxzFPm1O5n8a-o7tTkkcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6db54178fb379316d927c112566f42ca","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"855380cb-328c-48ab-894d-4d0095dd89d7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.8333588} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6db54178fb379316d927c112566f42ca","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cdc040f4-fa16-4203-aac0-2d7ef59fec86","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.838067} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6db54178fb379316d927c112566f42ca","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"e861ab22-6dc5-4694-9b7f-6014760db6f0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.8551216} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31e0119a-444f-4b2c-acd7-361014ca8bae","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.855204} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"6db54178fb379316d927c112566f42ca","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.855078516Z"}]},"request_id":"1e014bdf-13d8-497a-b6b3-cf9eefb296c9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222250.8599129} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6db54178fb379316d927c112566f42ca","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6db54178fb379316d927c112566f42ca"} gateway-1 | {"time_local":"24/Sep/2024:23:57:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6db54178fb379316d927c112566f42ca"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"6db54178fb379316d927c112566f42ca","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw","level":"info","message":"auth send jwt","requestID":"bf52603ab489971d559427823be962e3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bf52603ab489971d559427823be962e3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"bf52603ab489971d559427823be962e3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw","level":"info","message":"auth send jwt","requestID":"8d04587c626bbd14791b17eb25a781e6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d04587c626bbd14791b17eb25a781e6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8d04587c626bbd14791b17eb25a781e6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1095,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1095,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.860661,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bf52603ab489971d559427823be962e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bf52603ab489971d559427823be962e3","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1096,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1096,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.793435,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8d04587c626bbd14791b17eb25a781e6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8d04587c626bbd14791b17eb25a781e6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.800773078Z"}]},"request_id":"d61b7dc6-dd51-460e-b5dd-4cc69e555fdf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.3354716} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bf52603ab489971d559427823be962e3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.855078516Z"}]},"request_id":"efc4c7db-36a5-4560-a842-2b6bd821e65e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.336568} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8d04587c626bbd14791b17eb25a781e6","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87e0c2d1-4951-4bb6-a410-f97dfcb5477e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.3411727} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bf52603ab489971d559427823be962e3","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de8f9242-d589-458a-8912-9031ea6d8a65","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.3427274} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8d04587c626bbd14791b17eb25a781e6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.855078516Z"}]},"request_id":"a9256c42-3184-4f4f-9e7f-f369a21bfa89","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.3468683} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8d04587c626bbd14791b17eb25a781e6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8d04587c626bbd14791b17eb25a781e6"} device-1 | {"level":"info","message":"PATCH /devices/857b4526-cecc-46fb-a62c-1057168288d1 200 24ms","method":"PATCH","requestID":"8d04587c626bbd14791b17eb25a781e6","responseTime":24,"status":200,"url":"/devices/857b4526-cecc-46fb-a62c-1057168288d1"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/857b4526-cecc-46fb-a62c-1057168288d1 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"8d04587c626bbd14791b17eb25a781e6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw","level":"info","message":"auth send jwt","requestID":"f53e69680f80d5d31c99beb5ef3da86c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f53e69680f80d5d31c99beb5ef3da86c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f53e69680f80d5d31c99beb5ef3da86c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1097,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1097,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733395,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f53e69680f80d5d31c99beb5ef3da86c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f53e69680f80d5d31c99beb5ef3da86c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.800773078Z"}]},"request_id":"bce3fce4-fa67-4315-9a0d-7981e32c0e3f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.3774302} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"bf52603ab489971d559427823be962e3","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"bf52603ab489971d559427823be962e3"} device-1 | {"level":"info","message":"PATCH /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c 200 58ms","method":"PATCH","requestID":"bf52603ab489971d559427823be962e3","responseTime":58,"status":200,"url":"/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.063","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"bf52603ab489971d559427823be962e3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw","level":"info","message":"auth send jwt","requestID":"7a90fbfaf00a7aa6d7ce446794433a56"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7a90fbfaf00a7aa6d7ce446794433a56","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7a90fbfaf00a7aa6d7ce446794433a56"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f53e69680f80d5d31c99beb5ef3da86c"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/857b4526-cecc-46fb-a62c-1057168288d1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"f53e69680f80d5d31c99beb5ef3da86c"} device-1 | {"level":"info","message":"POST /devices/857b4526-cecc-46fb-a62c-1057168288d1/websocket 200 35ms","method":"POST","requestID":"f53e69680f80d5d31c99beb5ef3da86c","responseTime":35,"status":200,"url":"/devices/857b4526-cecc-46fb-a62c-1057168288d1/websocket"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1098,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1098,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761796,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7a90fbfaf00a7aa6d7ce446794433a56","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7a90fbfaf00a7aa6d7ce446794433a56","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7a90fbfaf00a7aa6d7ce446794433a56"} device-1 | {"level":"info","message":"POST /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/websocket 200 13ms","method":"POST","requestID":"7a90fbfaf00a7aa6d7ce446794433a56","responseTime":13,"status":200,"url":"/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"7a90fbfaf00a7aa6d7ce446794433a56"} device-1 | {"level":"info","message":"device 'http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw","level":"info","message":"auth send jwt","requestID":"8be7dad969753bbd3e950b47402bc77f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8be7dad969753bbd3e950b47402bc77f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8be7dad969753bbd3e950b47402bc77f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1099,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1099,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.139202,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8be7dad969753bbd3e950b47402bc77f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8be7dad969753bbd3e950b47402bc77f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.800773078Z"}]},"request_id":"5ec2949a-2b0c-4b21-94df-887900a9065e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.4281976} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8be7dad969753bbd3e950b47402bc77f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8be7dad969753bbd3e950b47402bc77f"} device-1 | {"level":"info","message":"GET /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c? 200 14ms","method":"GET","requestID":"8be7dad969753bbd3e950b47402bc77f","responseTime":14,"status":200,"url":"/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8be7dad969753bbd3e950b47402bc77f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw","level":"info","message":"auth send jwt","requestID":"499fe0c873317e371625e7e2d730dcc5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"499fe0c873317e371625e7e2d730dcc5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"499fe0c873317e371625e7e2d730dcc5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.065099,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"499fe0c873317e371625e7e2d730dcc5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"499fe0c873317e371625e7e2d730dcc5","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.855078516Z"}]},"request_id":"77901ed7-e6a8-4254-bd27-ad6ded754670","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.44751} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"499fe0c873317e371625e7e2d730dcc5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"499fe0c873317e371625e7e2d730dcc5"} device-1 | {"level":"info","message":"GET /devices/857b4526-cecc-46fb-a62c-1057168288d1? 200 15ms","method":"GET","requestID":"499fe0c873317e371625e7e2d730dcc5","responseTime":15,"status":200,"url":"/devices/857b4526-cecc-46fb-a62c-1057168288d1?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/857b4526-cecc-46fb-a62c-1057168288d1? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"499fe0c873317e371625e7e2d730dcc5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw","level":"info","message":"auth send jwt","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a8dd9555f4d0931cb23e0f3b0d775622","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.228034,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a8dd9555f4d0931cb23e0f3b0d775622","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a8dd9555f4d0931cb23e0f3b0d775622","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Attempting to run experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Attempting to book experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Successfully booked experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c2fde4a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c2fe32c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.82324,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c2fde4a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c2fde4a0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.986253,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c2fe32c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c2fe32c0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.800773078Z"}]},"request_id":"9e114112-c533-4401-b1bd-6075fc833274","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.5122366} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c2fde4a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.855078516Z"}]},"request_id":"e222a88b-94c7-416d-915b-61ecd5ef2540","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.5138457} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c2fe32c0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c2fde4a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c? 200 23ms","method":"GET","requestID":"c2fde4a0-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c2fe32c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/857b4526-cecc-46fb-a62c-1057168288d1? 200 22ms","method":"GET","requestID":"c2fe32c0-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/857b4526-cecc-46fb-a62c-1057168288d1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Setting up experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Successfully locked booking for experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Attempting to update booking for experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Successfully updated booking for experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Successfully set up experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c309f290-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c30a40b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c30a8ed0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Successfully running experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.335972,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c309f290-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c309f290-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.076603,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Received request.","req_id":1106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c30a40b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c30a40b0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Sent response.","req_id":1106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.89474,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f745d1a1-2162-4472-89db-9afa2a411948","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.5883653} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c30a8ed0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","object_type":"device","rebac_allow":false,"scope_allow":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":"c30a8ed0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.800773078Z"}]},"request_id":"ab5cc908-4b1a-4f38-a94d-8b2a11f84661","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.591111} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c30a8ed0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"c309f290-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/signaling 200 16ms","method":"POST","requestID":"c30a8ed0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.855078516Z"}]},"request_id":"404f50cc-eb0f-4f10-b7ba-f7a97562dd68","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.5960495} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c30a40b0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c30dc320-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c309f290-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c? 200 29ms","method":"GET","requestID":"c309f290-7ad0-11ef-9247-9909de679d1e","responseTime":29,"status":200,"url":"/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c30a40b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/857b4526-cecc-46fb-a62c-1057168288d1? 200 28ms","method":"GET","requestID":"c30a40b0-7ad0-11ef-9247-9909de679d1e","responseTime":28,"status":200,"url":"/devices/857b4526-cecc-46fb-a62c-1057168288d1?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef3f4966-d8de-40e9-ad62-af7d523d2c65","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.608279} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fecbe5331-25d4-4ee7-ac73-ce6945b993f3#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fecbe5331-25d4-4ee7-ac73-ce6945b993f3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a4e3f627-2b8d-4219-9e14-833f30345e02","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.6083927} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e85da23e-73ac-401b-8c3b-40de1ff24468","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.6087315} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.27209,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c30efba0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c30dc320-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","object_type":"device","rebac_allow":false,"scope_allow":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":"c30dc320-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"a8dd9555f4d0931cb23e0f3b0d775622","responseTime":26,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c30dc320-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/857b4526-cecc-46fb-a62c-1057168288d1/signaling 200 12ms","method":"POST","requestID":"c30dc320-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/857b4526-cecc-46fb-a62c-1057168288d1/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e619185-652f-4c65-8dea-a9dbde2293ef","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.6170857} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.511525,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c30efba0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","object_type":"device","rebac_allow":false,"scope_allow":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":"c30efba0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1296","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} experiment-1 | {"level":"info","message":"POST /experiments? 201 164ms","method":"POST","requestID":"a8dd9555f4d0931cb23e0f3b0d775622","responseTime":164,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c30efba0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/signaling 200 12ms","method":"POST","requestID":"c30efba0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3114590-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw","level":"info","message":"auth send jwt","requestID":"16755120e35100303b1f273bc397c2a7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"16755120e35100303b1f273bc397c2a7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"16755120e35100303b1f273bc397c2a7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5146a87f-e546-490a-9d16-0bd9bd04d919","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.6298} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.83573,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"16755120e35100303b1f273bc397c2a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"16755120e35100303b1f273bc397c2a7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.433058,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c3114590-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","object_type":"device","rebac_allow":false,"scope_allow":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":"c3114590-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.800773078Z"}]},"request_id":"d02c0499-0289-4dac-886f-091d98649f3f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.634446} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"16755120e35100303b1f273bc397c2a7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3114590-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/857b4526-cecc-46fb-a62c-1057168288d1/signaling 200 12ms","method":"POST","requestID":"c3114590-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/857b4526-cecc-46fb-a62c-1057168288d1/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"16755120e35100303b1f273bc397c2a7"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"16755120e35100303b1f273bc397c2a7"} device-1 | {"level":"info","message":"GET /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c? 200 12ms","method":"GET","requestID":"16755120e35100303b1f273bc397c2a7","responseTime":12,"status":200,"url":"/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c3136870-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c313b690-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696376,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c3136870-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw","level":"info","message":"auth send jwt","requestID":"1c079f22c11ed41bc4be474ad266ef7d"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c3136870-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1c079f22c11ed41bc4be474ad266ef7d","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759781,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c313b690-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c313b690-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1c079f22c11ed41bc4be474ad266ef7d"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.800773078Z"}]},"request_id":"dfb71126-1684-40cb-a62c-b4b464360f8a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.647025} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c3136870-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.855078516Z"}]},"request_id":"1ad2cad9-9349-4bbb-8b5d-4b29e52f6834","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.6480615} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c313b690-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c3136870-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643624,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} device-1 | {"level":"info","message":"GET /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c? 200 12ms","method":"GET","requestID":"c3136870-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1c079f22c11ed41bc4be474ad266ef7d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1c079f22c11ed41bc4be474ad266ef7d","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c313b690-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/857b4526-cecc-46fb-a62c-1057168288d1? 200 13ms","method":"GET","requestID":"c313b690-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/857b4526-cecc-46fb-a62c-1057168288d1?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:30.855078516Z"}]},"request_id":"743742e6-df93-4dd6-a96e-51950089ca32","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.6547143} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Building connection plan","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} 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":"5dfb75ae-d247-4201-898b-1dae7cc8eaf1"},{"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":"dbcdc311-c04e-419d-bf49-d644fe211af9"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"427a233a-c4ef-47de-a83c-b56f5371b547"}]},"level":"info","message":"Built pairwise service configurations","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1c079f22c11ed41bc4be474ad266ef7d","responseTime":2,"status":200,"url":"/relations/query"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"c3160080-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"c3160080-7ad0-11ef-a772-4d02dbd671ac"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1c079f22c11ed41bc4be474ad266ef7d"} forwarding-1 | {"level":"info","message":"POST /rooms 201 2ms","method":"POST","requestID":"c3160080-7ad0-11ef-a772-4d02dbd671ac","responseTime":2,"status":201,"url":"/rooms"} device-1 | {"level":"info","message":"GET /devices/857b4526-cecc-46fb-a62c-1057168288d1? 200 12ms","method":"GET","requestID":"1c079f22c11ed41bc4be474ad266ef7d","responseTime":12,"status":200,"url":"/devices/857b4526-cecc-46fb-a62c-1057168288d1?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/857b4526-cecc-46fb-a62c-1057168288d1? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c079f22c11ed41bc4be474ad266ef7d"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067?id=ce83c898-b8eb-41db-b882-f23f1d1c3cee","ws://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067?id=a70185f7-3bdd-41e9-a1ed-3904779a4649"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c3169cc0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.920093,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c3169cc0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c3169cc0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"886d3121-b5f1-4949-9d56-ee15c8488802","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.6731553} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dceb1872-3f16-4976-9a94-fc8643a49502","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.6733792} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"c3169cc0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c3169cc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c3169cc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3'","requestID":"c3169cc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3'","requestID":"c3169cc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c3169cc0-7ad0-11ef-9247-9909de679d1e"} 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":"c3169cc0-7ad0-11ef-9247-9909de679d1e","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":"c3169cc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"abed79bb-c270-417c-afd4-d8d2630beff3","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"c31d5380-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"ce83c898-b8eb-41db-b882-f23f1d1c3cee\" in room \"http://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067\"","requestID":"c31d5380-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"c31d5380-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"c31da1a0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"a70185f7-3bdd-41e9-a1ed-3904779a4649\" in room \"http://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067\"","requestID":"c31da1a0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"c31da1a0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"a70185f7-3bdd-41e9-a1ed-3904779a4649\" in room \"http://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067\""} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a350b8cfbcafea17beb9083ac28c0f47","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"a70185f7-3bdd-41e9-a1ed-3904779a4649\" in room \"http://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067\""} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a350b8cfbcafea17beb9083ac28c0f47","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"a70185f7-3bdd-41e9-a1ed-3904779a4649\" in room \"http://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"a70185f7-3bdd-41e9-a1ed-3904779a4649\" in room \"http://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"a70185f7-3bdd-41e9-a1ed-3904779a4649\" in room \"http://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"a70185f7-3bdd-41e9-a1ed-3904779a4649\" in room \"http://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067\""} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3"}}},"level":"info","message":"received a callback","requestID":"a350b8cfbcafea17beb9083ac28c0f47"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"a350b8cfbcafea17beb9083ac28c0f47","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"a350b8cfbcafea17beb9083ac28c0f47"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"a8dd9555f4d0931cb23e0f3b0d775622"} device-1 | {"data":{"peerconnection":"abed79bb-c270-417c-afd4-d8d2630beff3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c320aee0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c35d0ed5-e540-4d63-972e-9b2aa29d5cfd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.7308757} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.208967,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c320aee0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","object_type":"device","rebac_allow":false,"scope_allow":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":"c320aee0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"peerconnection":"abed79bb-c270-417c-afd4-d8d2630beff3","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c320aee0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/signaling 200 18ms","method":"POST","requestID":"c320aee0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c323bc20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3742e564-6b12-4819-a8c0-40b92fcd900c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.7509282} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.389591,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c323bc20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c323bc20-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"abed79bb-c270-417c-afd4-d8d2630beff3","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c323bc20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/857b4526-cecc-46fb-a62c-1057168288d1/signaling 200 10ms","method":"POST","requestID":"c323bc20-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/857b4526-cecc-46fb-a62c-1057168288d1/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"630fa08643a9b07b97fd5f8f1f28d0bc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"630fa08643a9b07b97fd5f8f1f28d0bc","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3"}}},"level":"info","message":"received a callback","requestID":"630fa08643a9b07b97fd5f8f1f28d0bc"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c3260610-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fabed79bb-c270-417c-afd4-d8d2630beff3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5af3fd39-6e8f-432a-85d8-d365ea56b255","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.766192} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.516491,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c3260610-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3","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":"c3260610-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c3260610-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3 200 8ms","method":"GET","requestID":"c3260610-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"630fa08643a9b07b97fd5f8f1f28d0bc","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"630fa08643a9b07b97fd5f8f1f28d0bc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3296170-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4804eece-1c4e-49a1-b209-740801b0257f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.7880569} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.727891,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c3296170-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c3296170-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3296170-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/signaling 200 8ms","method":"POST","requestID":"c3296170-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c32b0f20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b230b54-145e-4340-bee3-cf97cb2928a8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.799198} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.457162,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c32b0f20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c32b0f20-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c32b0f20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/857b4526-cecc-46fb-a62c-1057168288d1/signaling 200 8ms","method":"POST","requestID":"c32b0f20-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/857b4526-cecc-46fb-a62c-1057168288d1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw","level":"info","message":"auth send jwt","requestID":"e703aec55b6c6cb6f185401246b5c642"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e703aec55b6c6cb6f185401246b5c642","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3","requestID":"e703aec55b6c6cb6f185401246b5c642"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.723548,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e703aec55b6c6cb6f185401246b5c642","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e703aec55b6c6cb6f185401246b5c642","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3","requestID":"e703aec55b6c6cb6f185401246b5c642"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3 HTTP/1.1","status": "200","body_bytes_sent":"1369","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e703aec55b6c6cb6f185401246b5c642"} experiment-1 | {"level":"info","message":"GET /experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3 200 10ms","method":"GET","requestID":"e703aec55b6c6cb6f185401246b5c642","responseTime":10,"status":200,"url":"/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw","level":"info","message":"auth send jwt","requestID":"d52865f2c1ac653797d64973242d23a5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d52865f2c1ac653797d64973242d23a5","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3","requestID":"d52865f2c1ac653797d64973242d23a5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.145086,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d52865f2c1ac653797d64973242d23a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d52865f2c1ac653797d64973242d23a5","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Attempting to finish experiment","requestID":"d52865f2c1ac653797d64973242d23a5"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c3326220-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.249683,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c3326220-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c3326220-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/5be7cac0-e769-40cb-aadc-eb130c804067?id=ce83c898-b8eb-41db-b882-f23f1d1c3cee HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.150","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"4d2d6a3936f9c416397004674a0caf26"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/5be7cac0-e769-40cb-aadc-eb130c804067?id=a70185f7-3bdd-41e9-a1ed-3904779a4649 HTTP/1.1","status": "101","body_bytes_sent":"916","request_time":"0.151","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"776497c103cad814f6052469d7f0ec7d"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"ce83c898-b8eb-41db-b882-f23f1d1c3cee\" in room \"http://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"ce83c898-b8eb-41db-b882-f23f1d1c3cee\" from room \"http://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067\""} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"a70185f7-3bdd-41e9-a1ed-3904779a4649\" in room \"http://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"a70185f7-3bdd-41e9-a1ed-3904779a4649\" from room \"http://localhost/rooms/5be7cac0-e769-40cb-aadc-eb130c804067\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"abed79bb-c270-417c-afd4-d8d2630beff3","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fb25b81596a594be984241ebd05e8e99","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fabed79bb-c270-417c-afd4-d8d2630beff3': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fabed79bb-c270-417c-afd4-d8d2630beff3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"d06c0a50-1740-444d-8c6f-6248a495542d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.8580222} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fb25b81596a594be984241ebd05e8e99","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b954328a-18ac-47d8-a13b-15c9cc0ec622","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.8583248} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a7e302f315903434dbe52804937b5da0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3"}}},"level":"info","message":"received a callback","requestID":"fb25b81596a594be984241ebd05e8e99"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a7e302f315903434dbe52804937b5da0","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"c3326220-7ad0-11ef-9247-9909de679d1e","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","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3"}}},"level":"info","message":"received a callback","requestID":"a7e302f315903434dbe52804937b5da0"} device-1 | {"data":{"peerconnection":"abed79bb-c270-417c-afd4-d8d2630beff3","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c3326220-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3 204 33ms","method":"DELETE","requestID":"c3326220-7ad0-11ef-9247-9909de679d1e","responseTime":33,"status":204,"url":"/peerconnections/abed79bb-c270-417c-afd4-d8d2630beff3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"},"level":"info","message":"Successfully finished experiment","requestID":"d52865f2c1ac653797d64973242d23a5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c339dc30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2934ad03-cce1-4806-ab96-99ce8ee53c2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c887274-3b1c-4793-8e96-0ad1e65db0df","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.8980796} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.469441,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c339dc30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c339dc30-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c339dc30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/signaling 200 11ms","method":"POST","requestID":"c339dc30-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/2934ad03-cce1-4806-ab96-99ce8ee53c2c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c33bd800-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fecbe5331-25d4-4ee7-ac73-ce6945b993f3': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fecbe5331-25d4-4ee7-ac73-ce6945b993f3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"bd4df1b4-8c3e-463f-a3e2-c7cb798fcbc8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.904931} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"422370d8-b5f2-4fa2-bc7a-fb7c666392d3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.9052484} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"d52865f2c1ac653797d64973242d23a5","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.767218,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F857b4526-cecc-46fb-a62c-1057168288d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfe2a1e2-b339-4ca8-b49f-0e2a3655e141","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.9100404} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c33bd800-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1","object_type":"device","rebac_allow":false,"scope_allow":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":"c33bd800-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c33bd800-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/857b4526-cecc-46fb-a62c-1057168288d1/signaling 200 11ms","method":"POST","requestID":"c33bd800-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/857b4526-cecc-46fb-a62c-1057168288d1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3","requestID":"d52865f2c1ac653797d64973242d23a5"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3 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":"d52865f2c1ac653797d64973242d23a5"} experiment-1 | {"level":"info","message":"DELETE /experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3 204 137ms","method":"DELETE","requestID":"d52865f2c1ac653797d64973242d23a5","responseTime":137,"status":204,"url":"/experiments/ecbe5331-25d4-4ee7-ac73-ce6945b993f3"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2108","request_time":"0.567","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"2aa25a9cd1771f99d7cc07e875b6c938"} gateway-1 | {"time_local":"24/Sep/2024:23:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2105","request_time":"0.578","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"f15e92e50c1026ae5159dc47d23756e8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 110ms","method":"POST","requestID":"fb25b81596a594be984241ebd05e8e99","responseTime":110,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.113","http_referrer":"","http_user_agent":"node-fetch","requestID":"fb25b81596a594be984241ebd05e8e99"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 109ms","method":"POST","requestID":"a7e302f315903434dbe52804937b5da0","responseTime":109,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.113","http_referrer":"","http_user_agent":"node-fetch","requestID":"a7e302f315903434dbe52804937b5da0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw","level":"info","message":"auth send jwt","requestID":"0ea5058c3288b6ae2032ed3917a94ae6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0ea5058c3288b6ae2032ed3917a94ae6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0ea5058c3288b6ae2032ed3917a94ae6"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/857b4526-cecc-46fb-a62c-1057168288d1' closed"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.73013,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0ea5058c3288b6ae2032ed3917a94ae6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222251,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1MX0.SAGGf_1SeCN8WN0iLvIllY3K7PSHAorGPuC56VxthXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0ea5058c3288b6ae2032ed3917a94ae6","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/2934ad03-cce1-4806-ab96-99ce8ee53c2c' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fc0b8411-3817-4722-a971-7df2557af08e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222251.9986353} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0ea5058c3288b6ae2032ed3917a94ae6","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"295b93fb-b5d9-442f-a2f8-9fa8e0dc9a46","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222252.0040143} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0ea5058c3288b6ae2032ed3917a94ae6","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"b3f44efc-7985-4a18-80d2-8d2ce5f4dfa6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222252.0144975} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34ea06fb-d4ee-4f3e-8305-007d4d8a0de2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222252.0145733} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"0ea5058c3288b6ae2032ed3917a94ae6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.014449092Z"}]},"request_id":"1f50278d-3871-4a09-bf1e-f53064b2c491","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222252.019134} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0ea5058c3288b6ae2032ed3917a94ae6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0ea5058c3288b6ae2032ed3917a94ae6"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"0ea5058c3288b6ae2032ed3917a94ae6","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ea5058c3288b6ae2032ed3917a94ae6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Mn0.fdJUERxC3PAYRjqVd3xp9SGHiEms3T-EWad8mCxw7DU","level":"info","message":"auth send jwt","requestID":"e320169ba5ba4a1003b64d318c66b565"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e320169ba5ba4a1003b64d318c66b565","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e320169ba5ba4a1003b64d318c66b565"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:32Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.773943,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e320169ba5ba4a1003b64d318c66b565","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222252,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Mn0.fdJUERxC3PAYRjqVd3xp9SGHiEms3T-EWad8mCxw7DU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e320169ba5ba4a1003b64d318c66b565","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"78f77e44-57ee-4292-b941-3f14a926f635","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222252.043648} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e320169ba5ba4a1003b64d318c66b565","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c031939-0166-45ac-abdd-8386dd484227","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222252.0485542} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e320169ba5ba4a1003b64d318c66b565","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"1ffea000-0d5d-4958-84ba-558fafab1d24","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222252.0645225} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5693f825-f528-451d-8754-9e7494dcef6f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222252.0647578} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"e320169ba5ba4a1003b64d318c66b565","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.064490320Z"}]},"request_id":"396ec294-7239-42ff-b949-d3e5d374dbe1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222252.0691295} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e320169ba5ba4a1003b64d318c66b565","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e320169ba5ba4a1003b64d318c66b565"} gateway-1 | {"time_local":"24/Sep/2024:23:57:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e320169ba5ba4a1003b64d318c66b565"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"e320169ba5ba4a1003b64d318c66b565","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e7b351de9ba4ac68cf53218577ec8909","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e7b351de9ba4ac68cf53218577ec8909","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/74881c6f-a8e4-41ed-aa32-426539ebe941/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":"e7b351de9ba4ac68cf53218577ec8909"} device-1 | {"level":"info","message":"OPTIONS /devices/74881c6f-a8e4-41ed-aa32-426539ebe941/websocket 200 1ms","method":"OPTIONS","requestID":"e7b351de9ba4ac68cf53218577ec8909","responseTime":1,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"1fd480a64b5e132849d4ba409c373bbb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1fd480a64b5e132849d4ba409c373bbb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1fd480a64b5e132849d4ba409c373bbb"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4a866df6d8ee1f456492c0bf923af44a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4a866df6d8ee1f456492c0bf923af44a","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c3425739-2cf4-41a4-95fc-065a007f4167/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":"4a866df6d8ee1f456492c0bf923af44a"} device-1 | {"level":"info","message":"OPTIONS /devices/c3425739-2cf4-41a4-95fc-065a007f4167/websocket 200 1ms","method":"OPTIONS","requestID":"4a866df6d8ee1f456492c0bf923af44a","responseTime":1,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167/websocket"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.230142,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1fd480a64b5e132849d4ba409c373bbb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1fd480a64b5e132849d4ba409c373bbb","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"87e05321c77156a8a692a4ae9fd12304"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"87e05321c77156a8a692a4ae9fd12304","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"87e05321c77156a8a692a4ae9fd12304"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.157827,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"87e05321c77156a8a692a4ae9fd12304","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"87e05321c77156a8a692a4ae9fd12304","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1fd480a64b5e132849d4ba409c373bbb"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/74881c6f-a8e4-41ed-aa32-426539ebe941/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1fd480a64b5e132849d4ba409c373bbb"} device-1 | {"level":"info","message":"POST /devices/74881c6f-a8e4-41ed-aa32-426539ebe941/websocket 200 26ms","method":"POST","requestID":"1fd480a64b5e132849d4ba409c373bbb","responseTime":26,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"87e05321c77156a8a692a4ae9fd12304"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c3425739-2cf4-41a4-95fc-065a007f4167/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":"87e05321c77156a8a692a4ae9fd12304"} device-1 | {"level":"info","message":"POST /devices/c3425739-2cf4-41a4-95fc-065a007f4167/websocket 200 22ms","method":"POST","requestID":"87e05321c77156a8a692a4ae9fd12304","responseTime":22,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0f9c4f41c8801de47c276372807fd0bd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0f9c4f41c8801de47c276372807fd0bd","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/74881c6f-a8e4-41ed-aa32-426539ebe941? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"0f9c4f41c8801de47c276372807fd0bd"} device-1 | {"level":"info","message":"OPTIONS /devices/74881c6f-a8e4-41ed-aa32-426539ebe941? 200 1ms","method":"OPTIONS","requestID":"0f9c4f41c8801de47c276372807fd0bd","responseTime":1,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"6d7be62abe0c93352c65d4a7a4c9c790"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6d7be62abe0c93352c65d4a7a4c9c790","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6d7be62abe0c93352c65d4a7a4c9c790"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d906630e2c8db6dd87d7d82ad6eeb1f3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d906630e2c8db6dd87d7d82ad6eeb1f3","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c3425739-2cf4-41a4-95fc-065a007f4167? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"d906630e2c8db6dd87d7d82ad6eeb1f3"} device-1 | {"level":"info","message":"OPTIONS /devices/c3425739-2cf4-41a4-95fc-065a007f4167? 200 1ms","method":"OPTIONS","requestID":"d906630e2c8db6dd87d7d82ad6eeb1f3","responseTime":1,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.092669,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6d7be62abe0c93352c65d4a7a4c9c790","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6d7be62abe0c93352c65d4a7a4c9c790","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"2ae91720e771f2a9de014e2ad80a67c1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2ae91720e771f2a9de014e2ad80a67c1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2ae91720e771f2a9de014e2ad80a67c1"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.064490320Z"}]},"request_id":"5ceea066-8bc0-44a9-a7c3-211081f49f21","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.136006} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"6d7be62abe0c93352c65d4a7a4c9c790","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.717771,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2ae91720e771f2a9de014e2ad80a67c1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2ae91720e771f2a9de014e2ad80a67c1","responseTime":6,"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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98037941-c10e-478d-8df4-eb39b7b69a25","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.145743} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"6d7be62abe0c93352c65d4a7a4c9c790","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.014449092Z"}]},"request_id":"5f088037-1734-446a-873f-bd42a419ba29","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.1511202} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2ae91720e771f2a9de014e2ad80a67c1","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67686885-ed6c-4573-848b-49ea2b18e9fd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.157937} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2ae91720e771f2a9de014e2ad80a67c1","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.064490320Z"}]},"request_id":"b731e239-2d84-4367-b127-c5b746cd4c5d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.1591184} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6d7be62abe0c93352c65d4a7a4c9c790","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6d7be62abe0c93352c65d4a7a4c9c790"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/74881c6f-a8e4-41ed-aa32-426539ebe941? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6d7be62abe0c93352c65d4a7a4c9c790"} device-1 | {"level":"info","message":"PATCH /devices/74881c6f-a8e4-41ed-aa32-426539ebe941? 200 39ms","method":"PATCH","requestID":"6d7be62abe0c93352c65d4a7a4c9c790","responseTime":39,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.014449092Z"}]},"request_id":"5bcb3b54-0d6f-4ada-a4a1-cf92cc919538","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.1759357} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"2ae91720e771f2a9de014e2ad80a67c1","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2ae91720e771f2a9de014e2ad80a67c1"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c3425739-2cf4-41a4-95fc-065a007f4167? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2ae91720e771f2a9de014e2ad80a67c1"} device-1 | {"level":"info","message":"PATCH /devices/c3425739-2cf4-41a4-95fc-065a007f4167? 200 44ms","method":"PATCH","requestID":"2ae91720e771f2a9de014e2ad80a67c1","responseTime":44,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"01d89701695fa0f576093339ead83f3b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"01d89701695fa0f576093339ead83f3b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"01d89701695fa0f576093339ead83f3b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.115943,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"01d89701695fa0f576093339ead83f3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"01d89701695fa0f576093339ead83f3b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.014449092Z"}]},"request_id":"20c2cbd8-b195-4e36-8192-686ae0cda188","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.2009668} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"01d89701695fa0f576093339ead83f3b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"01d89701695fa0f576093339ead83f3b"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c3425739-2cf4-41a4-95fc-065a007f4167? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01d89701695fa0f576093339ead83f3b"} device-1 | {"level":"info","message":"GET /devices/c3425739-2cf4-41a4-95fc-065a007f4167? 200 17ms","method":"GET","requestID":"01d89701695fa0f576093339ead83f3b","responseTime":17,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"fdf47c0d6faf117dc0928be55adde6dd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fdf47c0d6faf117dc0928be55adde6dd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fdf47c0d6faf117dc0928be55adde6dd"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.41511,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"fdf47c0d6faf117dc0928be55adde6dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fdf47c0d6faf117dc0928be55adde6dd","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.064490320Z"}]},"request_id":"1f961d04-7a60-4870-b320-f35b900c096d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.2248695} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fdf47c0d6faf117dc0928be55adde6dd","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fdf47c0d6faf117dc0928be55adde6dd"} device-1 | {"level":"info","message":"GET /devices/74881c6f-a8e4-41ed-aa32-426539ebe941? 200 17ms","method":"GET","requestID":"fdf47c0d6faf117dc0928be55adde6dd","responseTime":17,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/74881c6f-a8e4-41ed-aa32-426539ebe941? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fdf47c0d6faf117dc0928be55adde6dd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"5aad9dc301102b5fcea2be280a3d1865"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5aad9dc301102b5fcea2be280a3d1865","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5aad9dc301102b5fcea2be280a3d1865"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.273976,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5aad9dc301102b5fcea2be280a3d1865","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5aad9dc301102b5fcea2be280a3d1865","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Attempting to run experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Attempting to book experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Successfully booked experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c4a63d70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c4a68b90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.237322,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4a63d70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c4a63d70-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915044,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4a68b90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c4a68b90-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.014449092Z"}]},"request_id":"a5456ba3-a32a-4f85-a0a4-a073030ce399","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.2905972} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c4a63d70-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.064490320Z"}]},"request_id":"7a51f31a-46e8-4465-b0b1-d877330c4c10","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.2926428} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c4a68b90-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c4a63d70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c3425739-2cf4-41a4-95fc-065a007f4167? 200 19ms","method":"GET","requestID":"c4a63d70-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c4a68b90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/74881c6f-a8e4-41ed-aa32-426539ebe941? 200 18ms","method":"GET","requestID":"c4a68b90-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Setting up experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Successfully set up experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c4b0c4c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c4b112e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4b16100-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.797184,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Successfully running experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4b0c4c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c4b0c4c0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744769,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Received request.","req_id":1138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4b112e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c4b112e0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56934","level":"info","msg":"Sent response.","req_id":1138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.060055,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7df9d044-a911-460f-a470-1b6cd8362a2a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.3569865} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4b16100-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","object_type":"device","rebac_allow":false,"scope_allow":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":"c4b16100-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.014449092Z"}]},"request_id":"25bffde6-be9a-441f-99db-e7549d427d13","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.3610582} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4b16100-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c4b0c4c0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/c3425739-2cf4-41a4-95fc-065a007f4167/signaling 200 12ms","method":"POST","requestID":"c4b16100-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.064490320Z"}]},"request_id":"555260d4-d89a-4c94-9a48-eea0b81ea461","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.3636632} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c4b112e0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4b3aaf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c4b0c4c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} device-1 | {"level":"info","message":"GET /devices/c3425739-2cf4-41a4-95fc-065a007f4167? 200 22ms","method":"GET","requestID":"c4b0c4c0-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c4b112e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/74881c6f-a8e4-41ed-aa32-426539ebe941? 200 21ms","method":"GET","requestID":"c4b112e0-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"52dd2cf2-a7af-4bd8-93de-cad4a4ffec8d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.3721006} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.062053,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4b49550-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4b3aaf0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","object_type":"device","rebac_allow":false,"scope_allow":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":"c4b3aaf0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4b3aaf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/74881c6f-a8e4-41ed-aa32-426539ebe941/signaling 200 11ms","method":"POST","requestID":"c4b3aaf0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"52be8ac5-aa5d-481c-b170-4b29466408cf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.3791604} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f603752-e1c3-409e-a8d3-b2aa6b049dc9#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f603752-e1c3-409e-a8d3-b2aa6b049dc9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"9f7fc11b-6ee6-4c72-bbed-97086631cf6b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.3793848} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5713fab-4631-4098-8731-d3e025a27492","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.3795705} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"5aad9dc301102b5fcea2be280a3d1865","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.838922,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4b49550-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","object_type":"device","rebac_allow":false,"scope_allow":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":"c4b49550-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5aad9dc301102b5fcea2be280a3d1865"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1212","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5aad9dc301102b5fcea2be280a3d1865"} experiment-1 | {"level":"info","message":"POST /experiments? 201 148ms","method":"POST","requestID":"5aad9dc301102b5fcea2be280a3d1865","responseTime":148,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4b49550-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c3425739-2cf4-41a4-95fc-065a007f4167/signaling 200 14ms","method":"POST","requestID":"c4b49550-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4b70650-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"50a75782882254421035cbc7b11fc883"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"50a75782882254421035cbc7b11fc883","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50a75782882254421035cbc7b11fc883"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4823136-5078-4300-9d53-32eee90cfbc4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.3933742} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.943034,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4b70650-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c4b70650-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.313261,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"50a75782882254421035cbc7b11fc883","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"50a75782882254421035cbc7b11fc883","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4b70650-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/74881c6f-a8e4-41ed-aa32-426539ebe941/signaling 200 9ms","method":"POST","requestID":"c4b70650-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.014449092Z"}]},"request_id":"76fc0b9d-7238-4381-8be2-2d8e3b729168","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.3990698} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"50a75782882254421035cbc7b11fc883","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c4b8db10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c4b90220-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50a75782882254421035cbc7b11fc883"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c3425739-2cf4-41a4-95fc-065a007f4167? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50a75782882254421035cbc7b11fc883"} device-1 | {"level":"info","message":"GET /devices/c3425739-2cf4-41a4-95fc-065a007f4167? 200 12ms","method":"GET","requestID":"50a75782882254421035cbc7b11fc883","responseTime":12,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.019202,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4b8db10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c4b8db10-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.878191,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4b90220-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c4b90220-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"b3be4007bf336b15b704671fcdd6a3ec"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b3be4007bf336b15b704671fcdd6a3ec","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.014449092Z"}]},"request_id":"9aeb8f9c-6a50-4332-9d69-689f4c05b0c4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.4085376} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c4b8db10-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b3be4007bf336b15b704671fcdd6a3ec"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.064490320Z"}]},"request_id":"d79b9aa0-32ab-48fc-9fe9-fbddf543d003","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.4097588} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c4b90220-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.802013,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b3be4007bf336b15b704671fcdd6a3ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b3be4007bf336b15b704671fcdd6a3ec","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c4b8db10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c3425739-2cf4-41a4-95fc-065a007f4167? 200 15ms","method":"GET","requestID":"c4b8db10-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c4b90220-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/74881c6f-a8e4-41ed-aa32-426539ebe941? 200 15ms","method":"GET","requestID":"c4b90220-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Building connection plan","requestID":"5aad9dc301102b5fcea2be280a3d1865"} 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":"79f234da-46c5-44e2-8876-36fe258f369d"},{"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":"319f906a-6255-4517-9bd7-33e53782a938"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"34f91b6a-24b2-487a-8fb4-4adb5004351a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5aad9dc301102b5fcea2be280a3d1865"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5aad9dc301102b5fcea2be280a3d1865"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c4bb9a30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:32.064490320Z"}]},"request_id":"e43d345c-7263-4002-bc98-fb5bf48da1a0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.419699} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b3be4007bf336b15b704671fcdd6a3ec","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b3be4007bf336b15b704671fcdd6a3ec"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.73971,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/74881c6f-a8e4-41ed-aa32-426539ebe941? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3be4007bf336b15b704671fcdd6a3ec"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4bb9a30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} device-1 | {"level":"info","message":"GET /devices/74881c6f-a8e4-41ed-aa32-426539ebe941? 200 13ms","method":"GET","requestID":"b3be4007bf336b15b704671fcdd6a3ec","responseTime":14,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941?"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c4bb9a30-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"c69e8abe-86f3-4e4d-be57-243a936f8d5d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.4300964} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1c60ff6-ed6b-4f95-8c6c-eb4c25811022","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.4303465} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c4bb9a30-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c4bb9a30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c4bb9a30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a'","requestID":"c4bb9a30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a'","requestID":"c4bb9a30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c4bb9a30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 24ms","method":"POST","requestID":"c4bb9a30-7ad0-11ef-9247-9909de679d1e","responseTime":24,"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":"c4bb9a30-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5aad9dc301102b5fcea2be280a3d1865"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4c36260-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c933249e-2ed9-4cef-97b1-a842590f89d7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.4746356} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.458652,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4c36260-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c4c36260-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4c36260-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c3425739-2cf4-41a4-95fc-065a007f4167/signaling 200 8ms","method":"POST","requestID":"c4c36260-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4c4e900-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7544f12a-7592-4ec7-ad4c-0d5e02d10aef","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.4844403} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.756276,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4c4e900-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c4c4e900-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"c3425739-2cf4-41a4-95fc-065a007f4167","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c3425739-2cf4-41a4-95fc-065a007f4167","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4c4e900-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/74881c6f-a8e4-41ed-aa32-426539ebe941/signaling 200 9ms","method":"POST","requestID":"c4c4e900-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941/signaling"} device-1 | {"device":"74881c6f-a8e4-41ed-aa32-426539ebe941","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"74881c6f-a8e4-41ed-aa32-426539ebe941","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4175029435511094703 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:JPLu\r\na=ice-pwd:16CuMB+icuiP+kfkabPHvdC/\r\na=ice-options:trickle\r\na=fingerprint:sha-256 26:5B:7A:7E:D9:1E:DD:6B:17:91:1B:AF:20:CC:1B:A7:2B:A4:31:16:44:12:D8:88:17:EB:1E:44:F5:3F:4E:C9\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"74881c6f-a8e4-41ed-aa32-426539ebe941","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 3152251349694478344 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:rqqh\r\na=ice-pwd:Os3ALSb88DyszXYQzSJIdtQx\r\na=ice-options:trickle\r\na=fingerprint:sha-256 80:70:E6:F4:3E:50:E4:5D:D8:67:B3:80:55:1C:91:B7:CD:95:FE:B9:50:26:A4:1C:7D:DC:02:8B:8C:C9:14:1D\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"c3425739-2cf4-41a4-95fc-065a007f4167","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2290822545 1 udp 2113937151 e0c9480c-a41d-4aab-a729-923a598ab73e.local 56666 typ host generation 0 ufrag rqqh network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c3425739-2cf4-41a4-95fc-065a007f4167","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:212223982 1 udp 1677729535 141.24.211.56 56666 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag rqqh network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c3425739-2cf4-41a4-95fc-065a007f4167","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/c3425739-2cf4-41a4-95fc-065a007f4167'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167'"} device-1 | {"content":{"candidate":"candidate:1030848697 1 udp 2113937151 1166517d-9ef0-4d21-aabf-39ac24689db1.local 37170 typ host generation 0 ufrag JPLu network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"74881c6f-a8e4-41ed-aa32-426539ebe941","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2925142442 1 udp 1677729535 141.24.211.56 37170 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag JPLu network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"74881c6f-a8e4-41ed-aa32-426539ebe941","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/74881c6f-a8e4-41ed-aa32-426539ebe941'"} device-1 | {"device":"74881c6f-a8e4-41ed-aa32-426539ebe941","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"c3425739-2cf4-41a4-95fc-065a007f4167","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/85fc1746-6fe6-44b2-ab8c-803b4adb953a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"85fc1746-6fe6-44b2-ab8c-803b4adb953a","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"74881c6f-a8e4-41ed-aa32-426539ebe941","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"c3425739-2cf4-41a4-95fc-065a007f4167","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"55fc1453e8ea0442006f2d82751d371a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"55fc1453e8ea0442006f2d82751d371a","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a"}}},"level":"info","message":"received a callback","requestID":"55fc1453e8ea0442006f2d82751d371a"} device-1 | {"device":"74881c6f-a8e4-41ed-aa32-426539ebe941","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"c3425739-2cf4-41a4-95fc-065a007f4167","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"55fc1453e8ea0442006f2d82751d371a","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"55fc1453e8ea0442006f2d82751d371a"} device-1 | {"device":"c3425739-2cf4-41a4-95fc-065a007f4167","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"85fc1746-6fe6-44b2-ab8c-803b4adb953a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"85fc1746-6fe6-44b2-ab8c-803b4adb953a","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/85fc1746-6fe6-44b2-ab8c-803b4adb953a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"85fc1746-6fe6-44b2-ab8c-803b4adb953a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8d09e07cff0b02e7cf8d4df2bbd706d8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8d09e07cff0b02e7cf8d4df2bbd706d8","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a"}}},"level":"info","message":"received a callback","requestID":"8d09e07cff0b02e7cf8d4df2bbd706d8"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c4cfe580-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F85fc1746-6fe6-44b2-ab8c-803b4adb953a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8004ac25-f000-44d5-ac33-963e9e3917cd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.5566218} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.124401,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4cfe580-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a","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":"c4cfe580-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c4cfe580-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a 200 7ms","method":"GET","requestID":"c4cfe580-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"8d09e07cff0b02e7cf8d4df2bbd706d8","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"8d09e07cff0b02e7cf8d4df2bbd706d8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4d3dd20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4cefca66-6b40-4605-a433-dfddf8fae7a3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.5819104} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.141724,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4d3dd20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","object_type":"device","rebac_allow":false,"scope_allow":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":"c4d3dd20-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4d3dd20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c3425739-2cf4-41a4-95fc-065a007f4167/signaling 200 7ms","method":"POST","requestID":"c4d3dd20-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4d515a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1516cd70-02b1-4d70-87a7-b75259c1f213","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.5905821} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.147738,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4d515a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c4d515a0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4d515a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/74881c6f-a8e4-41ed-aa32-426539ebe941/signaling 200 7ms","method":"POST","requestID":"c4d515a0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"87a11872b243792a35a00170e49747c1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"87a11872b243792a35a00170e49747c1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9","requestID":"87a11872b243792a35a00170e49747c1"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.65096,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"87a11872b243792a35a00170e49747c1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87a11872b243792a35a00170e49747c1","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9","requestID":"87a11872b243792a35a00170e49747c1"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9 HTTP/1.1","status": "200","body_bytes_sent":"1285","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87a11872b243792a35a00170e49747c1"} experiment-1 | {"level":"info","message":"GET /experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9 200 12ms","method":"GET","requestID":"87a11872b243792a35a00170e49747c1","responseTime":12,"status":200,"url":"/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"d5ed04f496512b22978c16cc01e4ec3b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d5ed04f496512b22978c16cc01e4ec3b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9","requestID":"d5ed04f496512b22978c16cc01e4ec3b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.705009,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d5ed04f496512b22978c16cc01e4ec3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d5ed04f496512b22978c16cc01e4ec3b","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Attempting to finish experiment","requestID":"d5ed04f496512b22978c16cc01e4ec3b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c4e14aa0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.620536,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4e14aa0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c4e14aa0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a","device":"c3425739-2cf4-41a4-95fc-065a007f4167","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a","device":"74881c6f-a8e4-41ed-aa32-426539ebe941","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/85fc1746-6fe6-44b2-ab8c-803b4adb953a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"85fc1746-6fe6-44b2-ab8c-803b4adb953a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F85fc1746-6fe6-44b2-ab8c-803b4adb953a': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F85fc1746-6fe6-44b2-ab8c-803b4adb953a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"34c7ec8b-9a48-42ea-a045-faa23c83d18b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.6846592} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab7062b3-e546-42ef-99c4-c21e953b80cf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.684925} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a596ee489f36168fdba8870d9d9cf0b1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"c4e14aa0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a596ee489f36168fdba8870d9d9cf0b1","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c852cbc6626c3afb54649b686cd73da3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c852cbc6626c3afb54649b686cd73da3","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a"}}},"level":"info","message":"received a callback","requestID":"a596ee489f36168fdba8870d9d9cf0b1"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a"}}},"level":"info","message":"received a callback","requestID":"c852cbc6626c3afb54649b686cd73da3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c4e14aa0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a 204 39ms","method":"DELETE","requestID":"c4e14aa0-7ad0-11ef-9247-9909de679d1e","responseTime":39,"status":204,"url":"/peerconnections/85fc1746-6fe6-44b2-ab8c-803b4adb953a"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"},"level":"info","message":"Successfully finished experiment","requestID":"d5ed04f496512b22978c16cc01e4ec3b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4e98800-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc3425739-2cf4-41a4-95fc-065a007f4167","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3056de9e-4e5b-4119-92c0-41589cef0f0a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.724038} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.486479,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4e98800-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167","object_type":"device","rebac_allow":false,"scope_allow":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":"c4e98800-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4e98800-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c3425739-2cf4-41a4-95fc-065a007f4167/signaling 200 8ms","method":"POST","requestID":"c4e98800-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/c3425739-2cf4-41a4-95fc-065a007f4167/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4eb0ea0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f603752-e1c3-409e-a8d3-b2aa6b049dc9': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f603752-e1c3-409e-a8d3-b2aa6b049dc9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"9d7cad59-8b22-44b7-baa4-06d87e08883e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.7319064} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efe8171b-23ef-4a2f-aa9b-de4dae4936d8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.732266} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"d5ed04f496512b22978c16cc01e4ec3b","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74881c6f-a8e4-41ed-aa32-426539ebe941","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79bff021-25f4-42a3-8c40-4fd751ac4d35","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.7342658} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.142022,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c4eb0ea0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74881c6f-a8e4-41ed-aa32-426539ebe941","object_type":"device","rebac_allow":false,"scope_allow":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":"c4eb0ea0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4eb0ea0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/74881c6f-a8e4-41ed-aa32-426539ebe941/signaling 200 8ms","method":"POST","requestID":"c4eb0ea0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/74881c6f-a8e4-41ed-aa32-426539ebe941/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9","requestID":"d5ed04f496512b22978c16cc01e4ec3b"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5ed04f496512b22978c16cc01e4ec3b"} experiment-1 | {"level":"info","message":"DELETE /experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9 204 140ms","method":"DELETE","requestID":"d5ed04f496512b22978c16cc01e4ec3b","responseTime":140,"status":204,"url":"/experiments/5f603752-e1c3-409e-a8d3-b2aa6b049dc9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 108ms","method":"POST","requestID":"a596ee489f36168fdba8870d9d9cf0b1","responseTime":108,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.111","http_referrer":"","http_user_agent":"node-fetch","requestID":"a596ee489f36168fdba8870d9d9cf0b1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 108ms","method":"POST","requestID":"c852cbc6626c3afb54649b686cd73da3","responseTime":108,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.111","http_referrer":"","http_user_agent":"node-fetch","requestID":"c852cbc6626c3afb54649b686cd73da3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"950d37f79ee1eb9507b67a914a1b7706"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"950d37f79ee1eb9507b67a914a1b7706","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"950d37f79ee1eb9507b67a914a1b7706"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.868657,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"950d37f79ee1eb9507b67a914a1b7706","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3282","request_time":"0.708","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"53fd0953824525b3454583eaf0828ac7"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3279","request_time":"0.718","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3d1ff810e9674d4494306709aae057fb"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"950d37f79ee1eb9507b67a914a1b7706","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/74881c6f-a8e4-41ed-aa32-426539ebe941' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c3425739-2cf4-41a4-95fc-065a007f4167' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"71454261-f18d-421f-9d7b-1026b0c0a202","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.8202803} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"950d37f79ee1eb9507b67a914a1b7706","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20c8731a-d665-4fee-a6a2-9ea076196478","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.8240576} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"950d37f79ee1eb9507b67a914a1b7706","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"fbc9204d-d546-4ff8-9d82-c32ee09f8bff","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.8344638} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"219062aa-3725-4288-89ba-8adfbb4b2210","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.8345232} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"950d37f79ee1eb9507b67a914a1b7706","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.834435521Z"}]},"request_id":"4087a760-fec4-47af-b294-637e308b66a0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.8381193} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"950d37f79ee1eb9507b67a914a1b7706","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"950d37f79ee1eb9507b67a914a1b7706"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"950d37f79ee1eb9507b67a914a1b7706"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"950d37f79ee1eb9507b67a914a1b7706","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4","level":"info","message":"auth send jwt","requestID":"ac96fb4d947088b5b048bdb3d074e84e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ac96fb4d947088b5b048bdb3d074e84e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ac96fb4d947088b5b048bdb3d074e84e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.670122,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac96fb4d947088b5b048bdb3d074e84e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222254,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1NH0.Yg3ks3yamdhpUPbafDakBqr8_B-zdmdCNlSSBUCPUL4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ac96fb4d947088b5b048bdb3d074e84e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3a681cfb-ca5e-41f5-9d6d-defb56f0e3a4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.8602033} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ac96fb4d947088b5b048bdb3d074e84e","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3046e461-c4b0-4f55-b72e-0b97a76c52ca","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.8642018} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ac96fb4d947088b5b048bdb3d074e84e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"71b8cb25-0623-4195-80ad-a81493eabcbc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.8794775} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21a7ba8a-ec84-4462-99d0-22c9043f1d79","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.8796043} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"ac96fb4d947088b5b048bdb3d074e84e","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.879450374Z"}]},"request_id":"2545073f-8f0c-4f4b-b6b4-72fffbacf653","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222254.882465} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ac96fb4d947088b5b048bdb3d074e84e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ac96fb4d947088b5b048bdb3d074e84e"} gateway-1 | {"time_local":"24/Sep/2024:23:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ac96fb4d947088b5b048bdb3d074e84e"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"ac96fb4d947088b5b048bdb3d074e84e","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"95e5cf9ddf2463edfcb0d030cf122aaf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"95e5cf9ddf2463edfcb0d030cf122aaf","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/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":"95e5cf9ddf2463edfcb0d030cf122aaf"} device-1 | {"level":"info","message":"OPTIONS /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/websocket 200 1ms","method":"OPTIONS","requestID":"95e5cf9ddf2463edfcb0d030cf122aaf","responseTime":1,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls","level":"info","message":"auth send jwt","requestID":"0c19ed38e3165b9931af404a0b20ce0f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0c19ed38e3165b9931af404a0b20ce0f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0c19ed38e3165b9931af404a0b20ce0f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923697,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0c19ed38e3165b9931af404a0b20ce0f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0c19ed38e3165b9931af404a0b20ce0f","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1dd622f8474ea68adebea09291a819bb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1dd622f8474ea68adebea09291a819bb","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ea966725-2e0c-4abb-8888-7e2643b6d887/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":"1dd622f8474ea68adebea09291a819bb"} device-1 | {"level":"info","message":"OPTIONS /devices/ea966725-2e0c-4abb-8888-7e2643b6d887/websocket 200 1ms","method":"OPTIONS","requestID":"1dd622f8474ea68adebea09291a819bb","responseTime":1,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls","level":"info","message":"auth send jwt","requestID":"2df653522f129cd28ff0f6207ef87db9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2df653522f129cd28ff0f6207ef87db9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2df653522f129cd28ff0f6207ef87db9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0c19ed38e3165b9931af404a0b20ce0f"} device-1 | {"level":"info","message":"POST /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/websocket 200 18ms","method":"POST","requestID":"0c19ed38e3165b9931af404a0b20ce0f","responseTime":18,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/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":"0c19ed38e3165b9931af404a0b20ce0f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877551,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2df653522f129cd28ff0f6207ef87db9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2df653522f129cd28ff0f6207ef87db9","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2df653522f129cd28ff0f6207ef87db9"} gateway-1 | {"time_local":"24/Sep/2024:23:57:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ea966725-2e0c-4abb-8888-7e2643b6d887/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2df653522f129cd28ff0f6207ef87db9"} device-1 | {"level":"info","message":"POST /devices/ea966725-2e0c-4abb-8888-7e2643b6d887/websocket 200 15ms","method":"POST","requestID":"2df653522f129cd28ff0f6207ef87db9","responseTime":15,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9ef3223707f14613f323c4b53e43e285","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9ef3223707f14613f323c4b53e43e285","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f? 200 1ms","method":"OPTIONS","requestID":"9ef3223707f14613f323c4b53e43e285","responseTime":1,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"9ef3223707f14613f323c4b53e43e285"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls","level":"info","message":"auth send jwt","requestID":"7876ee95d6575485f1fbfe4b1a3244db"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7876ee95d6575485f1fbfe4b1a3244db","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7876ee95d6575485f1fbfe4b1a3244db"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"99bcdf2fc48bc7b1a2527a668a84fd3e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"99bcdf2fc48bc7b1a2527a668a84fd3e","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ea966725-2e0c-4abb-8888-7e2643b6d887? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"99bcdf2fc48bc7b1a2527a668a84fd3e"} device-1 | {"level":"info","message":"OPTIONS /devices/ea966725-2e0c-4abb-8888-7e2643b6d887? 200 1ms","method":"OPTIONS","requestID":"99bcdf2fc48bc7b1a2527a668a84fd3e","responseTime":1,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.046518,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7876ee95d6575485f1fbfe4b1a3244db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7876ee95d6575485f1fbfe4b1a3244db","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls","level":"info","message":"auth send jwt","requestID":"ef0fdce525daca7441e8e824352c3404"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ef0fdce525daca7441e8e824352c3404","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ef0fdce525daca7441e8e824352c3404"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.879450374Z"}]},"request_id":"f6e8fa7b-a1ec-4dbf-a710-bcb480ec87c3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222256.9032757} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7876ee95d6575485f1fbfe4b1a3244db","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.789554,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ef0fdce525daca7441e8e824352c3404","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ef0fdce525daca7441e8e824352c3404","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40e9b3b3-109a-420d-85b5-c89b4e1c9932","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222256.9089508} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7876ee95d6575485f1fbfe4b1a3244db","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.834435521Z"}]},"request_id":"7d782e4d-cc36-452e-99ec-82fe687dc06c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222256.924776} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ef0fdce525daca7441e8e824352c3404","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.879450374Z"}]},"request_id":"7b7ab8a0-947f-4035-a3b5-610c275d1b70","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222256.9253745} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7876ee95d6575485f1fbfe4b1a3244db","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7876ee95d6575485f1fbfe4b1a3244db"} device-1 | {"level":"info","message":"PATCH /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f? 200 33ms","method":"PATCH","requestID":"7876ee95d6575485f1fbfe4b1a3244db","responseTime":33,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f? HTTP/1.1","status": "200","body_bytes_sent":"998","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":"7876ee95d6575485f1fbfe4b1a3244db"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0733afa-e5fd-4bd4-abf8-269a5b38479f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222256.9296165} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ef0fdce525daca7441e8e824352c3404","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.834435521Z"}]},"request_id":"f617fa6d-1b74-49d7-a5b0-5d57652f3b08","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222256.9406986} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ef0fdce525daca7441e8e824352c3404","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ef0fdce525daca7441e8e824352c3404"} gateway-1 | {"time_local":"24/Sep/2024:23:57:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ea966725-2e0c-4abb-8888-7e2643b6d887? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ef0fdce525daca7441e8e824352c3404"} device-1 | {"level":"info","message":"PATCH /devices/ea966725-2e0c-4abb-8888-7e2643b6d887? 200 40ms","method":"PATCH","requestID":"ef0fdce525daca7441e8e824352c3404","responseTime":40,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls","level":"info","message":"auth send jwt","requestID":"d2540d123c8d981731fd48d667817285"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d2540d123c8d981731fd48d667817285","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2540d123c8d981731fd48d667817285"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677969,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2540d123c8d981731fd48d667817285","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d2540d123c8d981731fd48d667817285","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.834435521Z"}]},"request_id":"7349f4b7-8613-4edf-829c-0ae3c1ed35a1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222256.9596536} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d2540d123c8d981731fd48d667817285","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2540d123c8d981731fd48d667817285"} device-1 | {"level":"info","message":"GET /devices/ea966725-2e0c-4abb-8888-7e2643b6d887? 200 13ms","method":"GET","requestID":"d2540d123c8d981731fd48d667817285","responseTime":13,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea966725-2e0c-4abb-8888-7e2643b6d887? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2540d123c8d981731fd48d667817285"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls","level":"info","message":"auth send jwt","requestID":"7821f8f61e37864b4cebe1e97c74edba"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7821f8f61e37864b4cebe1e97c74edba","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7821f8f61e37864b4cebe1e97c74edba"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673719,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7821f8f61e37864b4cebe1e97c74edba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7821f8f61e37864b4cebe1e97c74edba","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.879450374Z"}]},"request_id":"7de252eb-dd83-4f47-be61-f2697f73c1b6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222256.9766424} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7821f8f61e37864b4cebe1e97c74edba","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7821f8f61e37864b4cebe1e97c74edba"} gateway-1 | {"time_local":"24/Sep/2024:23:57:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7821f8f61e37864b4cebe1e97c74edba"} device-1 | {"level":"info","message":"GET /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f? 200 13ms","method":"GET","requestID":"7821f8f61e37864b4cebe1e97c74edba","responseTime":13,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls","level":"info","message":"auth send jwt","requestID":"e09ef9d82e0332276781876d42810316"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e09ef9d82e0332276781876d42810316","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e09ef9d82e0332276781876d42810316"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.903581,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e09ef9d82e0332276781876d42810316","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e09ef9d82e0332276781876d42810316","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Attempting to run experiment","requestID":"e09ef9d82e0332276781876d42810316"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Attempting to book experiment","requestID":"e09ef9d82e0332276781876d42810316"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Successfully booked experiment","requestID":"e09ef9d82e0332276781876d42810316"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c6498d30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c649b440-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.024958,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c6498d30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c6498d30-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.28001,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c649b440-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c649b440-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.834435521Z"}]},"request_id":"800dfdbb-25ec-4b13-8b49-b57af0ba34f2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.0353143} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c6498d30-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.879450374Z"}]},"request_id":"b5dcc900-5b2a-4b2a-8171-0fdc28063c3e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.0366778} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c649b440-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c6498d30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/ea966725-2e0c-4abb-8888-7e2643b6d887? 200 13ms","method":"GET","requestID":"c6498d30-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c649b440-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f? 200 13ms","method":"GET","requestID":"c649b440-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Setting up experiment","requestID":"e09ef9d82e0332276781876d42810316"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e09ef9d82e0332276781876d42810316"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e09ef9d82e0332276781876d42810316"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e09ef9d82e0332276781876d42810316"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e09ef9d82e0332276781876d42810316"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e09ef9d82e0332276781876d42810316"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e09ef9d82e0332276781876d42810316"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Successfully set up experiment","requestID":"e09ef9d82e0332276781876d42810316"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c653ed70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c6543b90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c65489b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.881425,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Successfully running experiment","requestID":"e09ef9d82e0332276781876d42810316"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c653ed70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c653ed70-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.954404,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c6543b90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c6543b90-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.707807,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8e5af0c-96a1-4905-98e7-ea7cb7c4fc01","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1041994} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c65489b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","object_type":"device","rebac_allow":false,"scope_allow":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":"c65489b0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.834435521Z"}]},"request_id":"871d70af-5573-4916-8556-bf18b8da65ea","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1059144} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.879450374Z"}]},"request_id":"78bdf0b3-bbe9-4d69-9598-9a7a703f63db","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1070848} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c653ed70-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c6543b90-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c65489b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ea966725-2e0c-4abb-8888-7e2643b6d887/signaling 200 12ms","method":"POST","requestID":"c65489b0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c653ed70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/ea966725-2e0c-4abb-8888-7e2643b6d887? 200 17ms","method":"GET","requestID":"c653ed70-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c6543b90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f? 200 16ms","method":"GET","requestID":"c6543b90-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c656d3a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c656fab0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"760bd61a-3a7e-4855-b272-ab31a117f762","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1186883} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f865d13-ce9b-47b3-9ef8-a57bd242a0d7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1196733} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.558974,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c656d3a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","object_type":"device","rebac_allow":false,"scope_allow":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":"c656d3a0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb06c5774-230f-4e4f-b4a4-c139e231298c#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb06c5774-230f-4e4f-b4a4-c139e231298c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"925df79f-2c1e-4fa5-8986-02f7e353df78","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1211786} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14b86f5a-8593-43f0-b4be-90f2d80bc434","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1215076} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.553567,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c656fab0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","object_type":"device","rebac_allow":false,"scope_allow":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":"c656fab0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"e09ef9d82e0332276781876d42810316","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c656d3a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/signaling 200 12ms","method":"POST","requestID":"c656d3a0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c656fab0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ea966725-2e0c-4abb-8888-7e2643b6d887/signaling 200 12ms","method":"POST","requestID":"c656fab0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c6596bb0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e09ef9d82e0332276781876d42810316"} experiment-1 | {"level":"info","message":"POST /experiments? 201 148ms","method":"POST","requestID":"e09ef9d82e0332276781876d42810316","responseTime":148,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1212","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e09ef9d82e0332276781876d42810316"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8ff22bb-a462-4128-80eb-0f37d1d57e5b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1372862} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.628898,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c6596bb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8","level":"info","message":"auth send jwt","requestID":"14c4146a31c1a2812a1c01dac3d66791"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c6596bb0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"14c4146a31c1a2812a1c01dac3d66791","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"14c4146a31c1a2812a1c01dac3d66791"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c6596bb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} device-1 | {"level":"info","message":"POST /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/signaling 200 12ms","method":"POST","requestID":"c6596bb0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.864343,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e09ef9d82e0332276781876d42810316"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"14c4146a31c1a2812a1c01dac3d66791","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222257,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"14c4146a31c1a2812a1c01dac3d66791","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c65bb5a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c65bdcb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.834435521Z"}]},"request_id":"f6dd27b1-1659-445b-91b6-c1023554cfc5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1483188} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"14c4146a31c1a2812a1c01dac3d66791","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.797525,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"14c4146a31c1a2812a1c01dac3d66791"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c65bb5a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c65bb5a0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea966725-2e0c-4abb-8888-7e2643b6d887? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"14c4146a31c1a2812a1c01dac3d66791"} device-1 | {"level":"info","message":"GET /devices/ea966725-2e0c-4abb-8888-7e2643b6d887? 200 11ms","method":"GET","requestID":"14c4146a31c1a2812a1c01dac3d66791","responseTime":11,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887?"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.887736,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c65bdcb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c65bdcb0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.834435521Z"}]},"request_id":"8d7b30b1-72ef-4635-8705-ef20287c9216","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1550171} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c65bb5a0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8","level":"info","message":"auth send jwt","requestID":"77565911eb688ffd08049bd1614d0f4d"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.879450374Z"}]},"request_id":"7c39aedf-0982-4ece-b1d0-6c76e2e079cc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1559713} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"77565911eb688ffd08049bd1614d0f4d","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c65bdcb0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"77565911eb688ffd08049bd1614d0f4d"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c65bb5a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} device-1 | {"level":"info","message":"GET /devices/ea966725-2e0c-4abb-8888-7e2643b6d887? 200 14ms","method":"GET","requestID":"c65bb5a0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71609,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c65bdcb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f? 200 14ms","method":"GET","requestID":"c65bdcb0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"77565911eb688ffd08049bd1614d0f4d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222257,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"77565911eb688ffd08049bd1614d0f4d","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Building connection plan","requestID":"e09ef9d82e0332276781876d42810316"} 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":"664fcf63-1303-4664-8f86-a509f1364ba7"},{"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":"c58dee86-17f6-4d74-8e1c-c1be64067e6c"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"d24b5066-e0c4-4860-912b-ec2bd86377b0"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e09ef9d82e0332276781876d42810316"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e09ef9d82e0332276781876d42810316"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c65e4db0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:34.879450374Z"}]},"request_id":"b61294a0-858b-4228-933b-9c8f556cf991","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1647213} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"77565911eb688ffd08049bd1614d0f4d","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.081593,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c65e4db0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222256,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1Nn0.AqKv7QQWg4k6wxrWZ8MpqBedOyD58waIS3W9_ze1Jls"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c65e4db0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"77565911eb688ffd08049bd1614d0f4d"} gateway-1 | {"time_local":"24/Sep/2024:23:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77565911eb688ffd08049bd1614d0f4d"} device-1 | {"level":"info","message":"GET /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f? 200 12ms","method":"GET","requestID":"77565911eb688ffd08049bd1614d0f4d","responseTime":12,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"f9a6dfe8-2e36-474a-b718-31a7d69d6dc5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.175499} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"814397a8-2255-44b4-8917-2b30d8350553","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.1759005} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c65e4db0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c65e4db0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c65e4db0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0'","requestID":"c65e4db0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0'","requestID":"c65e4db0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c65e4db0-7ad0-11ef-9247-9909de679d1e"} 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":"c65e4db0-7ad0-11ef-9247-9909de679d1e","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":"c65e4db0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e09ef9d82e0332276781876d42810316"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c66615e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1d02aea-c5a3-4dff-9460-2b70bb62c7da","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.2186172} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.639676,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c66615e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c66615e0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c66615e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ea966725-2e0c-4abb-8888-7e2643b6d887/signaling 200 8ms","method":"POST","requestID":"c66615e0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c667c390-7ad0-11ef-9247-9909de679d1e"} device-1 | {"device":"0974dd7b-a811-4c22-9a9c-e72e33ddc71f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0974dd7b-a811-4c22-9a9c-e72e33ddc71f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} device-1 | {"device":"ea966725-2e0c-4abb-8888-7e2643b6d887","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ea966725-2e0c-4abb-8888-7e2643b6d887","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88da6e75-8d0a-498a-8b99-4b8cb4346b4b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.2296686} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.837435,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c667c390-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c667c390-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c667c390-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/signaling 200 9ms","method":"POST","requestID":"c667c390-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8679389318938561882 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:xZT+\r\na=ice-pwd:nAhtR4XvtBjHHZm3wxVT401U\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B7:7A:DF:0A:B1:62:18:0B:3D:E8:F6:B4:34:1A:8B:32:FE:DE:19:88:2E:2E:34:F9:9D:1C:E3:45:9B:F8:25: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":"ea966725-2e0c-4abb-8888-7e2643b6d887","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 498691058622077819 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:mXs+\r\na=ice-pwd:nAaGx7sAOQVvibXdRM9heAWh\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F2:A8:0E:24:1F:A2:6D:24:80:5E:98:A5:99:E8:CA:BD:94:F2:B2:A4:EA:7C:48:0F:57:CA:39:F0:B1:11:31:B5\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"0974dd7b-a811-4c22-9a9c-e72e33ddc71f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:79406891 1 udp 2113937151 25ba7005-8d58-4fa0-95e8-1965f2f75454.local 52833 typ host generation 0 ufrag mXs+ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0974dd7b-a811-4c22-9a9c-e72e33ddc71f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2542798392 1 udp 1677729535 141.24.211.56 52833 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag mXs+ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0974dd7b-a811-4c22-9a9c-e72e33ddc71f","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/0974dd7b-a811-4c22-9a9c-e72e33ddc71f'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f'"} device-1 | {"content":{"candidate":"candidate:2777321640 1 udp 2113937151 d53ddab6-0419-4538-b47f-657b932e9161.local 41164 typ host generation 0 ufrag xZT+ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ea966725-2e0c-4abb-8888-7e2643b6d887","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:916533691 1 udp 1677729535 141.24.211.56 41164 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag xZT+ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ea966725-2e0c-4abb-8888-7e2643b6d887","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/ea966725-2e0c-4abb-8888-7e2643b6d887'"} device-1 | {"device":"ea966725-2e0c-4abb-8888-7e2643b6d887","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/80ca5be4-38ca-4553-91f4-56f67df942d0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"80ca5be4-38ca-4553-91f4-56f67df942d0","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0974dd7b-a811-4c22-9a9c-e72e33ddc71f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"0974dd7b-a811-4c22-9a9c-e72e33ddc71f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"ea966725-2e0c-4abb-8888-7e2643b6d887","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d1096d1501f45632ccb499c7c2fc0cb8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d1096d1501f45632ccb499c7c2fc0cb8","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0"}}},"level":"info","message":"received a callback","requestID":"d1096d1501f45632ccb499c7c2fc0cb8"} device-1 | {"device":"ea966725-2e0c-4abb-8888-7e2643b6d887","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"d1096d1501f45632ccb499c7c2fc0cb8","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"0974dd7b-a811-4c22-9a9c-e72e33ddc71f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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":"d1096d1501f45632ccb499c7c2fc0cb8"} device-1 | {"device":"0974dd7b-a811-4c22-9a9c-e72e33ddc71f","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"80ca5be4-38ca-4553-91f4-56f67df942d0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"80ca5be4-38ca-4553-91f4-56f67df942d0","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/80ca5be4-38ca-4553-91f4-56f67df942d0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"80ca5be4-38ca-4553-91f4-56f67df942d0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"790413d92be44a637f6e9b4f48432c1e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"790413d92be44a637f6e9b4f48432c1e","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0"}}},"level":"info","message":"received a callback","requestID":"790413d92be44a637f6e9b4f48432c1e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c672c010-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F80ca5be4-38ca-4553-91f4-56f67df942d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66b298cf-2606-4894-9382-a5238f842a90","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.3011184} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.112842,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c672c010-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0","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":"c672c010-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c672c010-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0 200 7ms","method":"GET","requestID":"c672c010-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"790413d92be44a637f6e9b4f48432c1e","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"790413d92be44a637f6e9b4f48432c1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c67690a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0009185b-c179-4202-bf50-c132a7fc4b85","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.3263488} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.140789,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c67690a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","object_type":"device","rebac_allow":false,"scope_allow":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":"c67690a0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c67690a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/signaling 200 8ms","method":"POST","requestID":"c67690a0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c6781740-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bffbbc80-9e66-43e1-bd6c-9f4a4c11c3ec","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.3362317} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.589277,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c6781740-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","object_type":"device","rebac_allow":false,"scope_allow":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":"c6781740-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c6781740-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ea966725-2e0c-4abb-8888-7e2643b6d887/signaling 200 7ms","method":"POST","requestID":"c6781740-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8","level":"info","message":"auth send jwt","requestID":"02aa1cc4d607960224f26de2c36c6031"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"02aa1cc4d607960224f26de2c36c6031","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b06c5774-230f-4e4f-b4a4-c139e231298c","requestID":"02aa1cc4d607960224f26de2c36c6031"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.936508,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"02aa1cc4d607960224f26de2c36c6031","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222257,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"02aa1cc4d607960224f26de2c36c6031","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b06c5774-230f-4e4f-b4a4-c139e231298c","requestID":"02aa1cc4d607960224f26de2c36c6031"} experiment-1 | {"level":"info","message":"GET /experiments/b06c5774-230f-4e4f-b4a4-c139e231298c 200 9ms","method":"GET","requestID":"02aa1cc4d607960224f26de2c36c6031","responseTime":9,"status":200,"url":"/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"} gateway-1 | {"time_local":"24/Sep/2024:23:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b06c5774-230f-4e4f-b4a4-c139e231298c HTTP/1.1","status": "200","body_bytes_sent":"1285","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"02aa1cc4d607960224f26de2c36c6031"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8","level":"info","message":"auth send jwt","requestID":"5c99582bec6f981ab08add31b4d36bd3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5c99582bec6f981ab08add31b4d36bd3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b06c5774-230f-4e4f-b4a4-c139e231298c","requestID":"5c99582bec6f981ab08add31b4d36bd3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.658735,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5c99582bec6f981ab08add31b4d36bd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222257,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5c99582bec6f981ab08add31b4d36bd3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Attempting to finish experiment","requestID":"5c99582bec6f981ab08add31b4d36bd3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c6829e90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.698204,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c6829e90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222257,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c6829e90-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0","device":"ea966725-2e0c-4abb-8888-7e2643b6d887","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0","device":"0974dd7b-a811-4c22-9a9c-e72e33ddc71f","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/80ca5be4-38ca-4553-91f4-56f67df942d0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"80ca5be4-38ca-4553-91f4-56f67df942d0","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F80ca5be4-38ca-4553-91f4-56f67df942d0': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F80ca5be4-38ca-4553-91f4-56f67df942d0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"994330aa-9829-4755-ae53-6b75bdde0bf0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.4147377} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"04111398a1f441a0e14cf9d737889b4a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ff256fb-f0d0-44a7-8352-2be7289e142c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.4150581} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"c6829e90-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"04111398a1f441a0e14cf9d737889b4a","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0"}}},"level":"info","message":"received a callback","requestID":"04111398a1f441a0e14cf9d737889b4a"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d958afbccbce31c89fa95bee9b0a4420","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d958afbccbce31c89fa95bee9b0a4420","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0"}}},"level":"info","message":"received a callback","requestID":"d958afbccbce31c89fa95bee9b0a4420"} device-1 | {"data":{"peerconnection":"80ca5be4-38ca-4553-91f4-56f67df942d0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c6829e90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0 204 32ms","method":"DELETE","requestID":"c6829e90-7ad0-11ef-9247-9909de679d1e","responseTime":32,"status":204,"url":"/peerconnections/80ca5be4-38ca-4553-91f4-56f67df942d0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"},"level":"info","message":"Successfully finished experiment","requestID":"5c99582bec6f981ab08add31b4d36bd3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c689a370-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0974dd7b-a811-4c22-9a9c-e72e33ddc71f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5acec86e-1448-4225-b89a-7e30cfac72cb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.4516625} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.241509,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c689a370-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c689a370-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c689a370-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/signaling 200 8ms","method":"POST","requestID":"c689a370-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c68b2a10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb06c5774-230f-4e4f-b4a4-c139e231298c': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb06c5774-230f-4e4f-b4a4-c139e231298c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"da9c24c1-50fa-4d66-880c-6a8ffd3e4d88","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.4582462} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d5d50bd-d961-43ef-8a8d-63a3ec5840fb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.4583852} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"5c99582bec6f981ab08add31b4d36bd3","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea966725-2e0c-4abb-8888-7e2643b6d887","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac5aac2e-4060-4163-bcad-60eb7a953061","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.4620068} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.219486,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c68b2a10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887","object_type":"device","rebac_allow":false,"scope_allow":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":"c68b2a10-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c68b2a10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/ea966725-2e0c-4abb-8888-7e2643b6d887/signaling 200 8ms","method":"POST","requestID":"c68b2a10-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/ea966725-2e0c-4abb-8888-7e2643b6d887/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b06c5774-230f-4e4f-b4a4-c139e231298c","requestID":"5c99582bec6f981ab08add31b4d36bd3"} gateway-1 | {"time_local":"24/Sep/2024:23:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b06c5774-230f-4e4f-b4a4-c139e231298c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c99582bec6f981ab08add31b4d36bd3"} experiment-1 | {"level":"info","message":"DELETE /experiments/b06c5774-230f-4e4f-b4a4-c139e231298c 204 131ms","method":"DELETE","requestID":"5c99582bec6f981ab08add31b4d36bd3","responseTime":131,"status":204,"url":"/experiments/b06c5774-230f-4e4f-b4a4-c139e231298c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 108ms","method":"POST","requestID":"04111398a1f441a0e14cf9d737889b4a","responseTime":108,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"d958afbccbce31c89fa95bee9b0a4420","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.110","http_referrer":"","http_user_agent":"node-fetch","requestID":"04111398a1f441a0e14cf9d737889b4a"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.111","http_referrer":"","http_user_agent":"node-fetch","requestID":"d958afbccbce31c89fa95bee9b0a4420"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8","level":"info","message":"auth send jwt","requestID":"da99895f7efe0086375fbb3a0b020fbd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"da99895f7efe0086375fbb3a0b020fbd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"da99895f7efe0086375fbb3a0b020fbd"} gateway-1 | {"time_local":"24/Sep/2024:23:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3279","request_time":"0.657","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"da33233bd40584675b24da329e80e1ac"} gateway-1 | {"time_local":"24/Sep/2024:23:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3279","request_time":"0.671","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"909125d4f1710d98af10d40ac67243c7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.043356,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"da99895f7efe0086375fbb3a0b020fbd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222257,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"da99895f7efe0086375fbb3a0b020fbd","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0974dd7b-a811-4c22-9a9c-e72e33ddc71f' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ea966725-2e0c-4abb-8888-7e2643b6d887' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"68e51b83-e917-4f5b-8009-74af7aa8f133","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.5473268} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"da99895f7efe0086375fbb3a0b020fbd","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"016916dc-25fc-4e6d-91cf-017758c63a6a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.5505006} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"da99895f7efe0086375fbb3a0b020fbd","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"179270bb-192c-408f-aaeb-5eaad87852a5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.5610642} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ebc399d-db72-4cb9-b881-82c03fd78bff","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.56119} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"da99895f7efe0086375fbb3a0b020fbd","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.561037849Z"}]},"request_id":"bca684e0-5eb1-470c-8e26-1c9203d38c42","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.5643272} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"da99895f7efe0086375fbb3a0b020fbd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"da99895f7efe0086375fbb3a0b020fbd"} gateway-1 | {"time_local":"24/Sep/2024:23:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"da99895f7efe0086375fbb3a0b020fbd"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"da99895f7efe0086375fbb3a0b020fbd","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8","level":"info","message":"auth send jwt","requestID":"354bf477ee41fbb4557513ac9a6fdce2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"354bf477ee41fbb4557513ac9a6fdce2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"354bf477ee41fbb4557513ac9a6fdce2"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.801668,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"354bf477ee41fbb4557513ac9a6fdce2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222257,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1N30.rH7OgsIENpfeHGQ2kpDToAHqrDf5t8KhoV_gx3n9eC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"354bf477ee41fbb4557513ac9a6fdce2","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6ba03eaf-f896-45b5-89b5-cb218c71dc36","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.588272} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"354bf477ee41fbb4557513ac9a6fdce2","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d54c073-9c4f-4d6b-94dd-ca1e121e2162","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.5920897} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"354bf477ee41fbb4557513ac9a6fdce2","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"009954cb-c78b-4d7d-989b-58725f5f7416","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.6011188} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90c00097-959f-4f40-b65c-1fbfd7acc7e0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.6012893} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"354bf477ee41fbb4557513ac9a6fdce2","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.601086594Z"}]},"request_id":"3957b2e1-3ca7-433f-b6b3-0cc63567f99b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222257.6048565} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"354bf477ee41fbb4557513ac9a6fdce2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"354bf477ee41fbb4557513ac9a6fdce2"} gateway-1 | {"time_local":"24/Sep/2024:23:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"354bf477ee41fbb4557513ac9a6fdce2"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"354bf477ee41fbb4557513ac9a6fdce2","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OH0._WOv8bR1VCk_5sBwX-Gn6ZrKwkpmGsEhYiSeYY1XK4Y","level":"info","message":"auth send jwt","requestID":"7a904d2fc4261cc925b1596e3b0c3105"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7a904d2fc4261cc925b1596e3b0c3105","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7a904d2fc4261cc925b1596e3b0c3105"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:38Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686755,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7a904d2fc4261cc925b1596e3b0c3105","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222258,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OH0._WOv8bR1VCk_5sBwX-Gn6ZrKwkpmGsEhYiSeYY1XK4Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7a904d2fc4261cc925b1596e3b0c3105","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.601086594Z"}]},"request_id":"0d2919ae-dad1-4adc-9e82-fc18aff0ca41","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222258.0849283} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7a904d2fc4261cc925b1596e3b0c3105","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1882c493-9692-43fc-8f00-e9ab124ee951","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222258.090711} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7a904d2fc4261cc925b1596e3b0c3105","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.601086594Z"}]},"request_id":"1c702ef7-b6a6-43df-ba42-8df05a27f521","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222258.104183} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7a904d2fc4261cc925b1596e3b0c3105","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7a904d2fc4261cc925b1596e3b0c3105"} gateway-1 | {"time_local":"24/Sep/2024:23:57:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"7a904d2fc4261cc925b1596e3b0c3105"} device-1 | {"level":"info","message":"PATCH /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e 200 33ms","method":"PATCH","requestID":"7a904d2fc4261cc925b1596e3b0c3105","responseTime":33,"status":200,"url":"/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OH0._WOv8bR1VCk_5sBwX-Gn6ZrKwkpmGsEhYiSeYY1XK4Y","level":"info","message":"auth send jwt","requestID":"e16285ccb505cb118a150a09bec05056"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e16285ccb505cb118a150a09bec05056","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e16285ccb505cb118a150a09bec05056"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:38Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.441196,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e16285ccb505cb118a150a09bec05056","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222258,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OH0._WOv8bR1VCk_5sBwX-Gn6ZrKwkpmGsEhYiSeYY1XK4Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e16285ccb505cb118a150a09bec05056","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e16285ccb505cb118a150a09bec05056"} device-1 | {"level":"info","message":"POST /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/websocket 200 19ms","method":"POST","requestID":"e16285ccb505cb118a150a09bec05056","responseTime":19,"status":200,"url":"/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"e16285ccb505cb118a150a09bec05056"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bcd4d8f103d018c50e7f14c2b0091501","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"bcd4d8f103d018c50e7f14c2b0091501","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/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":"bcd4d8f103d018c50e7f14c2b0091501"} device-1 | {"level":"info","message":"OPTIONS /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/websocket 200 1ms","method":"OPTIONS","requestID":"bcd4d8f103d018c50e7f14c2b0091501","responseTime":1,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o","level":"info","message":"auth send jwt","requestID":"d6fcf414394c3c25865ab6abb987c02c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d6fcf414394c3c25865ab6abb987c02c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d6fcf414394c3c25865ab6abb987c02c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.226015,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d6fcf414394c3c25865ab6abb987c02c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d6fcf414394c3c25865ab6abb987c02c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d6fcf414394c3c25865ab6abb987c02c"} gateway-1 | {"time_local":"24/Sep/2024:23:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/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":"d6fcf414394c3c25865ab6abb987c02c"} device-1 | {"level":"info","message":"POST /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/websocket 200 20ms","method":"POST","requestID":"d6fcf414394c3c25865ab6abb987c02c","responseTime":20,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d425059657b259a2fad1709d9d21fedd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d425059657b259a2fad1709d9d21fedd","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"d425059657b259a2fad1709d9d21fedd"} device-1 | {"level":"info","message":"OPTIONS /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236? 200 1ms","method":"OPTIONS","requestID":"d425059657b259a2fad1709d9d21fedd","responseTime":1,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o","level":"info","message":"auth send jwt","requestID":"b8f8eb62c1177d51b4589a0ed1b8252b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b8f8eb62c1177d51b4589a0ed1b8252b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b8f8eb62c1177d51b4589a0ed1b8252b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.785606,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b8f8eb62c1177d51b4589a0ed1b8252b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b8f8eb62c1177d51b4589a0ed1b8252b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.561037849Z"}]},"request_id":"3f87e7c8-486f-451d-a4c1-99ccdd49d604","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.718219} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b8f8eb62c1177d51b4589a0ed1b8252b","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff684cbc-6107-425f-9473-3a94d91037c9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.7249687} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b8f8eb62c1177d51b4589a0ed1b8252b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.561037849Z"}]},"request_id":"3bbf0d21-6323-4523-8917-933dad3dbecf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.7370176} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b8f8eb62c1177d51b4589a0ed1b8252b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b8f8eb62c1177d51b4589a0ed1b8252b"} gateway-1 | {"time_local":"24/Sep/2024:23:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b8f8eb62c1177d51b4589a0ed1b8252b"} device-1 | {"level":"info","message":"PATCH /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236? 200 35ms","method":"PATCH","requestID":"b8f8eb62c1177d51b4589a0ed1b8252b","responseTime":35,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o","level":"info","message":"auth send jwt","requestID":"13ac65f5e415a6419c62d5cec6b02d5b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"13ac65f5e415a6419c62d5cec6b02d5b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"13ac65f5e415a6419c62d5cec6b02d5b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.306318,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"13ac65f5e415a6419c62d5cec6b02d5b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"13ac65f5e415a6419c62d5cec6b02d5b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.561037849Z"}]},"request_id":"04e04819-b81e-4db5-ba98-48c48c32fb14","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.762277} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"13ac65f5e415a6419c62d5cec6b02d5b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"13ac65f5e415a6419c62d5cec6b02d5b"} gateway-1 | {"time_local":"24/Sep/2024:23:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13ac65f5e415a6419c62d5cec6b02d5b"} device-1 | {"level":"info","message":"GET /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236? 200 16ms","method":"GET","requestID":"13ac65f5e415a6419c62d5cec6b02d5b","responseTime":16,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o","level":"info","message":"auth send jwt","requestID":"20fc71e28d15856b068e0dff34d4384c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"20fc71e28d15856b068e0dff34d4384c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"20fc71e28d15856b068e0dff34d4384c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652625,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"20fc71e28d15856b068e0dff34d4384c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"20fc71e28d15856b068e0dff34d4384c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.601086594Z"}]},"request_id":"1e5ee483-46c0-4a92-90b9-77fa5daba651","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.7791948} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"20fc71e28d15856b068e0dff34d4384c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"20fc71e28d15856b068e0dff34d4384c"} gateway-1 | {"time_local":"24/Sep/2024:23:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"20fc71e28d15856b068e0dff34d4384c"} device-1 | {"level":"info","message":"GET /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e? 200 10ms","method":"GET","requestID":"20fc71e28d15856b068e0dff34d4384c","responseTime":10,"status":200,"url":"/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o","level":"info","message":"auth send jwt","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8237b33bc94dc2491f4dee9a79d4415a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.133206,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8237b33bc94dc2491f4dee9a79d4415a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8237b33bc94dc2491f4dee9a79d4415a","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Attempting to run experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Attempting to book experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Successfully booked experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7f42ff0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7f45700-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.611283,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c7f42ff0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c7f42ff0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.247892,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c7f45700-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c7f45700-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.561037849Z"}]},"request_id":"2cd7f710-4427-4c4b-bc97-a3663a15489e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.8349278} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c7f42ff0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.601086594Z"}]},"request_id":"b30863d4-576d-4c27-807f-5ec49d67b5d4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.8363934} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c7f45700-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7f42ff0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236? 200 17ms","method":"GET","requestID":"c7f42ff0-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7f45700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e? 200 16ms","method":"GET","requestID":"c7f45700-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Setting up experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Successfully locked booking for experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Attempting to update booking for experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Successfully updated booking for experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Successfully set up experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7fcbb70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7fce280-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7fd0990-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Successfully running experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704147,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c7fcbb70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c7fcbb70-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.580543,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c7fce280-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c7fce280-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53404","level":"info","msg":"Received request.","req_id":1202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57: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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.561037849Z"}]},"request_id":"9ce90b06-8f45-4336-9786-c8a8f304a98c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.8880556} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c7fcbb70-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.601086594Z"}]},"request_id":"fbf3f388-c15c-45df-b404-6f28ad5c34a0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.8900406} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f028999-c47c-4794-bb03-ba879a591124","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.8904467} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c7fce280-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:53404","level":"info","msg":"Sent response.","req_id":1202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.43392,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c7fd0990-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","object_type":"device","rebac_allow":false,"scope_allow":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":"c7fd0990-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7fcbb70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236? 200 18ms","method":"GET","requestID":"c7fcbb70-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7fce280-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e? 200 17ms","method":"GET","requestID":"c7fce280-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7fd0990-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/signaling 200 17ms","method":"POST","requestID":"c7fd0990-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7ffc8b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c80016d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F328f3f20-1b9f-4a8f-8584-ac65c81ff21f#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F328f3f20-1b9f-4a8f-8584-ac65c81ff21f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"9c035d28-8321-41b3-97b8-ba8d3b31a55b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.9028957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f07c931-978e-4e2d-8e1e-9592dc0df72d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.903146} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"8237b33bc94dc2491f4dee9a79d4415a","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.286824,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89607943-64bf-4278-80af-600e853aaefb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.9069996} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3001a7a-8142-4f2e-bb82-f4b1de5397f4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.908545} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c7ffc8b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","object_type":"device","rebac_allow":false,"scope_allow":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":"c7ffc8b0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.663667,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c80016d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","object_type":"device","rebac_allow":false,"scope_allow":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":"c80016d0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7ffc8b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/signaling 200 14ms","method":"POST","requestID":"c7ffc8b0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c80016d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/signaling 200 12ms","method":"POST","requestID":"c80016d0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/signaling"} gateway-1 | {"time_local":"24/Sep/2024:23:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1216","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 125ms","method":"POST","requestID":"8237b33bc94dc2491f4dee9a79d4415a","responseTime":126,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c80260c0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o","level":"info","message":"auth send jwt","requestID":"068ff24638d8762345b7577a7c6abaad"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"068ff24638d8762345b7577a7c6abaad","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"068ff24638d8762345b7577a7c6abaad"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2cce2e55-4c30-4ccd-9e38-036c4c10d671","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.9218295} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.078316,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c80260c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","object_type":"device","rebac_allow":false,"scope_allow":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":"c80260c0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.870473,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"068ff24638d8762345b7577a7c6abaad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"068ff24638d8762345b7577a7c6abaad","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c80260c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/signaling 200 11ms","method":"POST","requestID":"c80260c0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.561037849Z"}]},"request_id":"a3e858d1-a551-497c-a2bf-62579b2df067","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.9281087} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"068ff24638d8762345b7577a7c6abaad","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c80483a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c804aab0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"068ff24638d8762345b7577a7c6abaad"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.79024,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"068ff24638d8762345b7577a7c6abaad"} device-1 | {"level":"info","message":"GET /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236? 200 15ms","method":"GET","requestID":"068ff24638d8762345b7577a7c6abaad","responseTime":15,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236?"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Received request.","req_id":1208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c80483a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c80483a0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56932","level":"info","msg":"Sent response.","req_id":1208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.653634,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c804aab0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c804aab0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o","level":"info","message":"auth send jwt","requestID":"4b389b04e366747df229223580641caf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b389b04e366747df229223580641caf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4b389b04e366747df229223580641caf"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.561037849Z"}]},"request_id":"3f66c37d-9dca-4df0-9a2f-8f74041a17a4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.9387717} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c80483a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.601086594Z"}]},"request_id":"c69d86a4-a99a-45ad-addb-e9ef77dac542","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.9398544} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c80483a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c804aab0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764681,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} device-1 | {"level":"info","message":"GET /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236? 200 12ms","method":"GET","requestID":"c80483a0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4b389b04e366747df229223580641caf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4b389b04e366747df229223580641caf","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c804aab0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e? 200 14ms","method":"GET","requestID":"c804aab0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:37.601086594Z"}]},"request_id":"14121193-6412-41ab-9eed-561f19dbc515","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.9457402} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Building connection plan","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} 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":"ea1b191c-e84a-4bd0-a61f-617f3388af0d"},{"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":"60945e3e-eb2d-48fa-95c8-61fdf1f8f328"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"8d865ff5-7f9d-488c-9469-c448a9b30188"}]},"level":"info","message":"Built pairwise service configurations","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4b389b04e366747df229223580641caf","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c80742c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4b389b04e366747df229223580641caf"} device-1 | {"level":"info","message":"GET /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e? 200 10ms","method":"GET","requestID":"4b389b04e366747df229223580641caf","responseTime":10,"status":200,"url":"/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b389b04e366747df229223580641caf"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.781965,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c80742c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222259,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI1OX0.Zah0R8cufQHO3TChI1KB80hFy5v_QJzplktPgLWwa3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c80742c0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"132e4283-8960-4d7c-8d3a-6d7f25ee4a68","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.9580016} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74750279-b59d-4b1a-be1f-f195e6ecacb7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222259.9584534} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c80742c0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c80742c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c80742c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06'","requestID":"c80742c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06'","requestID":"c80742c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c80742c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 22ms","method":"POST","requestID":"c80742c0-7ad0-11ef-9247-9909de679d1e","responseTime":22,"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":"c80742c0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"8237b33bc94dc2491f4dee9a79d4415a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c80ebcd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9f0fb66-cc1c-471e-b2cf-ea1d80fc4388","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222260.002119} device-1 | {"device":"b5e8b1e2-ad92-4c90-99ed-e58362f0c236","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.457042,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:40Z"} device-1 | {"content":{"canTrickle":true},"device":"b5e8b1e2-ad92-4c90-99ed-e58362f0c236","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/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c80ebcd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c80ebcd0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c80ebcd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/signaling 200 10ms","method":"POST","requestID":"c80ebcd0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c8109190-7ad0-11ef-9247-9909de679d1e"} device-1 | {"content":{"sdp":"v=0\r\no=- 4957112659378180246 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:iymk\r\na=ice-pwd:fOYuZypWerDeUrR/RF2/NCtB\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F4:F9:6B:15:69:DF:69:37:3E:6C:7F:3B:63:3A:CA:B4:A0:F6:62:90:FF:8D:AA:A0:7C:E2:D8:E4:93:8C:ED:D8\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b5e8b1e2-ad92-4c90-99ed-e58362f0c236","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:40Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3fe96b4-4818-4151-9000-c336e25227d0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222260.0136855} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.531266,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c8109190-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c8109190-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c8109190-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/signaling 200 8ms","method":"POST","requestID":"c8109190-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/signaling"} device-1 | {"device":"b5e8b1e2-ad92-4c90-99ed-e58362f0c236","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"c7d73a6d-8d2c-4739-a2c9-279798be697e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"3f75d672-25fb-4a33-912a-b7fe733aef06","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c7d73a6d-8d2c-4739-a2c9-279798be697e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7d73a6d-8d2c-4739-a2c9-279798be697e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7d73a6d-8d2c-4739-a2c9-279798be697e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7d73a6d-8d2c-4739-a2c9-279798be697e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/3f75d672-25fb-4a33-912a-b7fe733aef06' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3f75d672-25fb-4a33-912a-b7fe733aef06","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"49845f3328a4797e8a706f3058a797b4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"49845f3328a4797e8a706f3058a797b4","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06"}}},"level":"info","message":"received a callback","requestID":"49845f3328a4797e8a706f3058a797b4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"49845f3328a4797e8a706f3058a797b4","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"49845f3328a4797e8a706f3058a797b4"} device-1 | {"content":{"candidate":"candidate:1623899738 1 udp 2113937151 bb01852f-52f3-4da7-a3d2-691ebf6de8cf.local 41153 typ host generation 0 ufrag iymk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b5e8b1e2-ad92-4c90-99ed-e58362f0c236","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3840398373 1 udp 1677729535 141.24.211.56 41153 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag iymk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b5e8b1e2-ad92-4c90-99ed-e58362f0c236","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3085593518 1 udp 33562623 141.24.210.113 53200 typ relay raddr 141.24.211.56 rport 41153 generation 0 ufrag iymk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b5e8b1e2-ad92-4c90-99ed-e58362f0c236","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/b5e8b1e2-ad92-4c90-99ed-e58362f0c236'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236'"} device-1 | {"device":"b5e8b1e2-ad92-4c90-99ed-e58362f0c236","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"3f75d672-25fb-4a33-912a-b7fe733aef06","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c7d73a6d-8d2c-4739-a2c9-279798be697e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5e8b1e2-ad92-4c90-99ed-e58362f0c236","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"c7d73a6d-8d2c-4739-a2c9-279798be697e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"3f75d672-25fb-4a33-912a-b7fe733aef06","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/3f75d672-25fb-4a33-912a-b7fe733aef06' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3f75d672-25fb-4a33-912a-b7fe733aef06","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9e9c090483312ad03bf23c2bd451ab02","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9e9c090483312ad03bf23c2bd451ab02","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06"}}},"level":"info","message":"received a callback","requestID":"9e9c090483312ad03bf23c2bd451ab02"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c95127e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3f75d672-25fb-4a33-912a-b7fe733aef06","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b775a47-8027-45d5-8eeb-be8dd8b363f6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.117329} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.641874,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c95127e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06","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":"c95127e0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c95127e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06 200 12ms","method":"GET","requestID":"c95127e0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"9e9c090483312ad03bf23c2bd451ab02","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"9e9c090483312ad03bf23c2bd451ab02"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c955bbc0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d509d42b-9ca7-46b5-8c04-212e504c4e67","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.1451657} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.5159,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c955bbc0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c955bbc0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c955bbc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/signaling 200 11ms","method":"POST","requestID":"c955bbc0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c957b790-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"abd7e6b5-5fa7-4ef3-99c3-388824c8249c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.1593153} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.922369,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c957b790-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","object_type":"device","rebac_allow":false,"scope_allow":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":"c957b790-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c957b790-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/signaling 200 11ms","method":"POST","requestID":"c957b790-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM","level":"info","message":"auth send jwt","requestID":"9c6774f1aaceaf471f204a2600763cb9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9c6774f1aaceaf471f204a2600763cb9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f","requestID":"9c6774f1aaceaf471f204a2600763cb9"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.160816,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9c6774f1aaceaf471f204a2600763cb9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222262,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9c6774f1aaceaf471f204a2600763cb9","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f","requestID":"9c6774f1aaceaf471f204a2600763cb9"} gateway-1 | {"time_local":"24/Sep/2024:23:57:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f HTTP/1.1","status": "200","body_bytes_sent":"1289","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c6774f1aaceaf471f204a2600763cb9"} experiment-1 | {"level":"info","message":"GET /experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f 200 15ms","method":"GET","requestID":"9c6774f1aaceaf471f204a2600763cb9","responseTime":15,"status":200,"url":"/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM","level":"info","message":"auth send jwt","requestID":"d676faccc292bf19a6d58da88193301f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d676faccc292bf19a6d58da88193301f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f","requestID":"d676faccc292bf19a6d58da88193301f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.899917,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d676faccc292bf19a6d58da88193301f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222262,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d676faccc292bf19a6d58da88193301f","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Attempting to finish experiment","requestID":"d676faccc292bf19a6d58da88193301f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c964d6f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.21579,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c964d6f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222262,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c964d6f0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06","device":"b5e8b1e2-ad92-4c90-99ed-e58362f0c236","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"c7d73a6d-8d2c-4739-a2c9-279798be697e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7d73a6d-8d2c-4739-a2c9-279798be697e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7d73a6d-8d2c-4739-a2c9-279798be697e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/3f75d672-25fb-4a33-912a-b7fe733aef06' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3f75d672-25fb-4a33-912a-b7fe733aef06","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3f75d672-25fb-4a33-912a-b7fe733aef06': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3f75d672-25fb-4a33-912a-b7fe733aef06","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"d366b77a-725b-4a1e-be4e-8ae4f04245c9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.2634046} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f191708-33c5-4f7c-a0bf-b00666bd19d3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.2637086} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b05f842f3db47e2f6c4b8a969e5e1665","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b05f842f3db47e2f6c4b8a969e5e1665","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"c964d6f0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1269e42b5313955ccaa05a564e58cc38","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06"}}},"level":"info","message":"received a callback","requestID":"b05f842f3db47e2f6c4b8a969e5e1665"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1269e42b5313955ccaa05a564e58cc38","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06"}}},"level":"info","message":"received a callback","requestID":"1269e42b5313955ccaa05a564e58cc38"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c964d6f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06 204 40ms","method":"DELETE","requestID":"c964d6f0-7ad0-11ef-9247-9909de679d1e","responseTime":40,"status":204,"url":"/peerconnections/3f75d672-25fb-4a33-912a-b7fe733aef06"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"},"level":"info","message":"Successfully finished experiment","requestID":"d676faccc292bf19a6d58da88193301f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c96e73e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d73a6d-8d2c-4739-a2c9-279798be697e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04da80b7-292a-4c2c-8f97-916395a4320a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.3098285} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.090054,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c96e73e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e","object_type":"device","rebac_allow":false,"scope_allow":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":"c96e73e0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c96e73e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F328f3f20-1b9f-4a8f-8584-ac65c81ff21f': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F328f3f20-1b9f-4a8f-8584-ac65c81ff21f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"65868153-b80d-4497-b7e5-9de60d807e4f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.3166525} device-1 | {"level":"info","message":"POST /devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/signaling 200 15ms","method":"POST","requestID":"c96e73e0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/c7d73a6d-8d2c-4739-a2c9-279798be697e/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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"babe5ffb-8ce1-4773-bbda-4b879dfae22c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.317426} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"d676faccc292bf19a6d58da88193301f","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9715a10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5e8b1e2-ad92-4c90-99ed-e58362f0c236","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31fdd742-e28b-4bd2-9f03-10790bba3899","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.3288279} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.295987,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c9715a10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236","object_type":"device","rebac_allow":false,"scope_allow":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":"c9715a10-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9715a10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/signaling 200 14ms","method":"POST","requestID":"c9715a10-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f","requestID":"d676faccc292bf19a6d58da88193301f"} gateway-1 | {"time_local":"24/Sep/2024:23:57:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d676faccc292bf19a6d58da88193301f"} experiment-1 | {"level":"info","message":"DELETE /experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f 204 164ms","method":"DELETE","requestID":"d676faccc292bf19a6d58da88193301f","responseTime":164,"status":204,"url":"/experiments/328f3f20-1b9f-4a8f-8584-ac65c81ff21f"} gateway-1 | {"time_local":"24/Sep/2024:23:57:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3624","request_time":"4.251","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"8548e3b54b486c00cdc1e354c16ad968"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"b05f842f3db47e2f6c4b8a969e5e1665","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"b05f842f3db47e2f6c4b8a969e5e1665"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM","level":"info","message":"auth send jwt","requestID":"718bada180ced46202a6a6a1a27c1d72"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"1269e42b5313955ccaa05a564e58cc38","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"1269e42b5313955ccaa05a564e58cc38"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"718bada180ced46202a6a6a1a27c1d72","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"718bada180ced46202a6a6a1a27c1d72"} gateway-1 | {"time_local":"24/Sep/2024:23:57:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3089","request_time":"2.739","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"56d484930ac01c8446378dc6d8cd6646"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.754319,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"718bada180ced46202a6a6a1a27c1d72","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222262,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"718bada180ced46202a6a6a1a27c1d72","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/c7d73a6d-8d2c-4739-a2c9-279798be697e' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8c0b8355-b765-4165-8ac3-7d6392db1020","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.4182906} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"718bada180ced46202a6a6a1a27c1d72","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2ad5f0a-7483-422b-8d92-931ecee9e1fd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.423021} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b5e8b1e2-ad92-4c90-99ed-e58362f0c236' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"718bada180ced46202a6a6a1a27c1d72","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"28f17e94-7f0e-4339-8a4d-306225539fc7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.4320152} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55fd812b-159f-4a54-abb2-b0f6b6e67190","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.4322546} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"718bada180ced46202a6a6a1a27c1d72","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.431980580Z"}]},"request_id":"f9894efc-4eda-4893-a8e4-4faac321a849","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.436466} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"718bada180ced46202a6a6a1a27c1d72","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"718bada180ced46202a6a6a1a27c1d72"} gateway-1 | {"time_local":"24/Sep/2024:23:57:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"718bada180ced46202a6a6a1a27c1d72"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"718bada180ced46202a6a6a1a27c1d72","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM","level":"info","message":"auth send jwt","requestID":"d19cb562e94dd1a413b7e64fd2d6b415"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d19cb562e94dd1a413b7e64fd2d6b415","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d19cb562e94dd1a413b7e64fd2d6b415"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.855495,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d19cb562e94dd1a413b7e64fd2d6b415","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222262,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d19cb562e94dd1a413b7e64fd2d6b415","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ab5c93d9-4c41-4a28-b162-2a863e1ca5eb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.4589922} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d19cb562e94dd1a413b7e64fd2d6b415","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75c0c4a7-0338-4e11-88ca-ef8296314058","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.463385} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d19cb562e94dd1a413b7e64fd2d6b415","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"076003bd-2f74-43a7-9f8b-cfe95a7e0186","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.4789367} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f76f5d0-9d3e-494e-b4bc-cfc6aec4afe4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.4792223} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"d19cb562e94dd1a413b7e64fd2d6b415","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.478906480Z"}]},"request_id":"2be70217-8057-463b-8f5c-60471d468743","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.4831486} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d19cb562e94dd1a413b7e64fd2d6b415","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d19cb562e94dd1a413b7e64fd2d6b415"} gateway-1 | {"time_local":"24/Sep/2024:23:57:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d19cb562e94dd1a413b7e64fd2d6b415"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"d19cb562e94dd1a413b7e64fd2d6b415","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM","level":"info","message":"auth send jwt","requestID":"53ac557802000e811196b180c6fe64db"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"53ac557802000e811196b180c6fe64db","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"53ac557802000e811196b180c6fe64db"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.133039,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"53ac557802000e811196b180c6fe64db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222262,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"53ac557802000e811196b180c6fe64db","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.478906480Z"}]},"request_id":"b0696ec2-40cd-4f79-9d58-3596786870b3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.9615328} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53ac557802000e811196b180c6fe64db","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8aa08a26-1dc2-4cbd-8698-2649de46a405","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.9657018} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"53ac557802000e811196b180c6fe64db","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.478906480Z"}]},"request_id":"b3a50299-ac54-46e4-9bec-fdf8c97fd269","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222262.9782608} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"53ac557802000e811196b180c6fe64db","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"53ac557802000e811196b180c6fe64db"} gateway-1 | {"time_local":"24/Sep/2024:23:57:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.032","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"53ac557802000e811196b180c6fe64db"} device-1 | {"level":"info","message":"PATCH /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55 200 28ms","method":"PATCH","requestID":"53ac557802000e811196b180c6fe64db","responseTime":28,"status":200,"url":"/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM","level":"info","message":"auth send jwt","requestID":"c07e1488be96f16fc1551c0a07f92171"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c07e1488be96f16fc1551c0a07f92171","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c07e1488be96f16fc1551c0a07f92171"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202184,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c07e1488be96f16fc1551c0a07f92171","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222262,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2Mn0.L4EKcZaQ4aulLSR9WLdOfuAoSh6LJhHlpE5-NcdDRTM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c07e1488be96f16fc1551c0a07f92171","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c07e1488be96f16fc1551c0a07f92171"} device-1 | {"level":"info","message":"POST /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/websocket 200 17ms","method":"POST","requestID":"c07e1488be96f16fc1551c0a07f92171","responseTime":17,"status":200,"url":"/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"c07e1488be96f16fc1551c0a07f92171"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"48417b2f1320cdfa4cc2b68ab9a55ccc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"48417b2f1320cdfa4cc2b68ab9a55ccc","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/793e5646-c93e-4865-bd14-91128c679f98/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":"48417b2f1320cdfa4cc2b68ab9a55ccc"} device-1 | {"level":"info","message":"OPTIONS /devices/793e5646-c93e-4865-bd14-91128c679f98/websocket 200 1ms","method":"OPTIONS","requestID":"48417b2f1320cdfa4cc2b68ab9a55ccc","responseTime":1,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4","level":"info","message":"auth send jwt","requestID":"5924949b9888c54d172435e385b8cf4f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5924949b9888c54d172435e385b8cf4f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5924949b9888c54d172435e385b8cf4f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.808476,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5924949b9888c54d172435e385b8cf4f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5924949b9888c54d172435e385b8cf4f","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5924949b9888c54d172435e385b8cf4f"} device-1 | {"level":"info","message":"POST /devices/793e5646-c93e-4865-bd14-91128c679f98/websocket 200 22ms","method":"POST","requestID":"5924949b9888c54d172435e385b8cf4f","responseTime":22,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/793e5646-c93e-4865-bd14-91128c679f98/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":"5924949b9888c54d172435e385b8cf4f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5cc704aa82be9a27e84b2fe4fd65a25c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5cc704aa82be9a27e84b2fe4fd65a25c","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/793e5646-c93e-4865-bd14-91128c679f98? 200 1ms","method":"OPTIONS","requestID":"5cc704aa82be9a27e84b2fe4fd65a25c","responseTime":1,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/793e5646-c93e-4865-bd14-91128c679f98? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"5cc704aa82be9a27e84b2fe4fd65a25c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4","level":"info","message":"auth send jwt","requestID":"88e7978337c233a9a372c3d48f1b84fd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88e7978337c233a9a372c3d48f1b84fd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"88e7978337c233a9a372c3d48f1b84fd"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.165436,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"88e7978337c233a9a372c3d48f1b84fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"88e7978337c233a9a372c3d48f1b84fd","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.431980580Z"}]},"request_id":"f6917d4a-1b11-42e8-a073-825db6577cbc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.5708978} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"88e7978337c233a9a372c3d48f1b84fd","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b975fb8-6975-4ec2-b992-d8cdaef44fd4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.5777688} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"88e7978337c233a9a372c3d48f1b84fd","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.431980580Z"}]},"request_id":"1e684d9b-c842-48d0-aede-a4587b1f3ad2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.590301} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"88e7978337c233a9a372c3d48f1b84fd","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"88e7978337c233a9a372c3d48f1b84fd"} gateway-1 | {"time_local":"24/Sep/2024:23:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/793e5646-c93e-4865-bd14-91128c679f98? HTTP/1.1","status": "200","body_bytes_sent":"998","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":"88e7978337c233a9a372c3d48f1b84fd"} device-1 | {"level":"info","message":"PATCH /devices/793e5646-c93e-4865-bd14-91128c679f98? 200 37ms","method":"PATCH","requestID":"88e7978337c233a9a372c3d48f1b84fd","responseTime":37,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4","level":"info","message":"auth send jwt","requestID":"2b84f809531ef4b35c7ac87fdb3055c9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2b84f809531ef4b35c7ac87fdb3055c9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2b84f809531ef4b35c7ac87fdb3055c9"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.23925,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2b84f809531ef4b35c7ac87fdb3055c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2b84f809531ef4b35c7ac87fdb3055c9","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.431980580Z"}]},"request_id":"07a41ecd-5049-42c0-9aa1-87e69a71dbdc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.6179328} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2b84f809531ef4b35c7ac87fdb3055c9","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2b84f809531ef4b35c7ac87fdb3055c9"} device-1 | {"level":"info","message":"GET /devices/793e5646-c93e-4865-bd14-91128c679f98? 200 16ms","method":"GET","requestID":"2b84f809531ef4b35c7ac87fdb3055c9","responseTime":16,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/793e5646-c93e-4865-bd14-91128c679f98? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b84f809531ef4b35c7ac87fdb3055c9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4","level":"info","message":"auth send jwt","requestID":"409f0865c434e054e9ebdf27a93909bb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"409f0865c434e054e9ebdf27a93909bb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"409f0865c434e054e9ebdf27a93909bb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.254016,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"409f0865c434e054e9ebdf27a93909bb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"409f0865c434e054e9ebdf27a93909bb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.478906480Z"}]},"request_id":"ae97d084-8b5e-4e66-9f0e-575b4c493c01","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.6408749} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"409f0865c434e054e9ebdf27a93909bb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"409f0865c434e054e9ebdf27a93909bb"} gateway-1 | {"time_local":"24/Sep/2024:23:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"409f0865c434e054e9ebdf27a93909bb"} device-1 | {"level":"info","message":"GET /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55? 200 16ms","method":"GET","requestID":"409f0865c434e054e9ebdf27a93909bb","responseTime":16,"status":200,"url":"/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4","level":"info","message":"auth send jwt","requestID":"7180b8c2002c23133d463aebb1a34179"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7180b8c2002c23133d463aebb1a34179","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7180b8c2002c23133d463aebb1a34179"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.910577,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7180b8c2002c23133d463aebb1a34179","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7180b8c2002c23133d463aebb1a34179","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Attempting to run experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Attempting to book experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Successfully booked experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cada8700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cadad520-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.184471,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cada8700-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cada8700-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34002","level":"info","msg":"Received request.","req_id":1231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:34002","level":"info","msg":"Sent response.","req_id":1231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.319738,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cadad520-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cadad520-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.431980580Z"}]},"request_id":"c87563b5-0593-40ad-aa06-a24442fab5ac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.6982324} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cada8700-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.478906480Z"}]},"request_id":"4307d241-cb53-4ec3-b401-d338d5614105","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.7012663} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cada8700-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cadad520-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/793e5646-c93e-4865-bd14-91128c679f98? 200 14ms","method":"GET","requestID":"cada8700-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cadad520-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55? 200 16ms","method":"GET","requestID":"cadad520-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Setting up experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Successfully set up experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cae4c030-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cae4e740-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cae50e50-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Successfully running experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926751,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:34002","level":"info","msg":"Received request.","req_id":1233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cae4c030-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cae4c030-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34002","level":"info","msg":"Sent response.","req_id":1233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645274,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cae4e740-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cae4e740-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34018","level":"info","msg":"Received request.","req_id":1234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.478906480Z"}]},"request_id":"bd5debf3-ed7e-4b04-ac8b-de315445f662","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.7652442} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"cae4e740-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.431980580Z"}]},"request_id":"f146e501-cf31-4168-a82c-2ec9d2e82580","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.7670944} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cae4c030-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70eecc33-0ed7-4b5f-8a39-77ba6eecf67e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.7682457} authorization-1 | {"client_addr":"127.0.0.1:34018","level":"info","msg":"Sent response.","req_id":1234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.276641,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cae50e50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"cae50e50-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cae4e740-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55? 200 19ms","method":"GET","requestID":"cae4e740-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cae4c030-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fffc62d62-7bd3-4ed5-a02f-435a7790751c#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fffc62d62-7bd3-4ed5-a02f-435a7790751c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"7ff68de5-2734-4071-bc61-dca4d9532061","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.77635} device-1 | {"level":"info","message":"GET /devices/793e5646-c93e-4865-bd14-91128c679f98? 200 21ms","method":"GET","requestID":"cae4c030-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c831b8d9-c9e9-4050-95bb-e50333870fde","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.7765982} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cae50e50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/793e5646-c93e-4865-bd14-91128c679f98/signaling 200 20ms","method":"POST","requestID":"cae50e50-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"7180b8c2002c23133d463aebb1a34179","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cae842a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cae890c0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7180b8c2002c23133d463aebb1a34179"} gateway-1 | {"time_local":"24/Sep/2024:23:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1216","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7180b8c2002c23133d463aebb1a34179"} experiment-1 | {"level":"info","message":"POST /experiments? 201 133ms","method":"POST","requestID":"7180b8c2002c23133d463aebb1a34179","responseTime":133,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.497535,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5724fd5d-0d09-4fa0-a03b-9b9083b95ed4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.7843838} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4","level":"info","message":"auth send jwt","requestID":"df5000675743ccc64cddf86fa9561762"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cae842a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","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":"df5000675743ccc64cddf86fa9561762","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"cae842a0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"df5000675743ccc64cddf86fa9561762"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84e4f192-2702-4c4c-983b-099e805b344b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.792092} authorization-1 | {"client_addr":"127.0.0.1:34002","level":"info","msg":"Received request.","req_id":1236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:34002","level":"info","msg":"Sent response.","req_id":1236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.508653,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cae890c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","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":"cae842a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/793e5646-c93e-4865-bd14-91128c679f98/signaling 200 18ms","method":"POST","requestID":"cae842a0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"cae890c0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807078,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"df5000675743ccc64cddf86fa9561762","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"df5000675743ccc64cddf86fa9561762","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"caeb4fe0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cae890c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/signaling 200 21ms","method":"POST","requestID":"cae890c0-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.431980580Z"}]},"request_id":"ebb46ee3-e5c5-434e-8233-bc7bc54d9047","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.8043623} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89dfffff-3d5a-4e7b-a144-4d2973cf0cad","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.8047028} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"df5000675743ccc64cddf86fa9561762","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.184653,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"caeb4fe0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","object_type":"device","rebac_allow":false,"scope_allow":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":"caeb4fe0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"df5000675743ccc64cddf86fa9561762"} gateway-1 | {"time_local":"24/Sep/2024:23:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/793e5646-c93e-4865-bd14-91128c679f98? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df5000675743ccc64cddf86fa9561762"} device-1 | {"level":"info","message":"GET /devices/793e5646-c93e-4865-bd14-91128c679f98? 200 18ms","method":"GET","requestID":"df5000675743ccc64cddf86fa9561762","responseTime":18,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"caeb4fe0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/signaling 200 12ms","method":"POST","requestID":"caeb4fe0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"caed99d0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4","level":"info","message":"auth send jwt","requestID":"5a33390bbcc14f16ba17e2402325efa3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5a33390bbcc14f16ba17e2402325efa3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"caedc0e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5a33390bbcc14f16ba17e2402325efa3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.929088,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:34002","level":"info","msg":"Received request.","req_id":1240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"caed99d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"caed99d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34002","level":"info","msg":"Sent response.","req_id":1240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.47333,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"caedc0e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"caedc0e0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.593177,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5a33390bbcc14f16ba17e2402325efa3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5a33390bbcc14f16ba17e2402325efa3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.431980580Z"}]},"request_id":"541344d9-d3b8-4ae8-bd9e-e245f87a1f89","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.8219461} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"caed99d0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.478906480Z"}]},"request_id":"d6cbc0cc-0d0a-49e6-b13f-6affa55ee954","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.8235009} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"caedc0e0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:42.478906480Z"}]},"request_id":"19db383d-f122-49ea-8245-534108811950","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.8250334} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5a33390bbcc14f16ba17e2402325efa3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"caed99d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/793e5646-c93e-4865-bd14-91128c679f98? 200 13ms","method":"GET","requestID":"caed99d0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"caedc0e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55? 200 15ms","method":"GET","requestID":"caedc0e0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5a33390bbcc14f16ba17e2402325efa3"} gateway-1 | {"time_local":"24/Sep/2024:23:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a33390bbcc14f16ba17e2402325efa3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Building connection plan","requestID":"7180b8c2002c23133d463aebb1a34179"} 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":"8b584086-48fd-461c-8775-64f9e3f87d06"},{"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":"d84f0136-de22-4f34-befd-3323f156595a"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"3c76ad96-60fe-40e0-a2ad-a0f4295e1588"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7180b8c2002c23133d463aebb1a34179"} device-1 | {"level":"info","message":"GET /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55? 200 13ms","method":"GET","requestID":"5a33390bbcc14f16ba17e2402325efa3","responseTime":13,"status":200,"url":"/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55?"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"7180b8c2002c23133d463aebb1a34179"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"caf058f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.795357,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"caf058f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222264,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2NH0.2sr3g9_QVVPo5zVXnQ_eyutSbkcnSsL6GiAnaWrDvo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"caf058f0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"fad5f221-599e-46b8-b446-64feff61c240","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.8425038} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc616dda-f011-45ee-8b6c-90898fd2322e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.842718} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"caf058f0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"caf058f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"caf058f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1'","requestID":"caf058f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1'","requestID":"caf058f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"caf058f0-7ad0-11ef-9247-9909de679d1e"} 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":"caf058f0-7ad0-11ef-9247-9909de679d1e","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":"caf058f0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7180b8c2002c23133d463aebb1a34179"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"caf82120-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4dd2fb6a-2fe5-4732-9c38-6d278d198f55","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.8871665} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.420117,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"caf82120-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"device":"793e5646-c93e-4865-bd14-91128c679f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"793e5646-c93e-4865-bd14-91128c679f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"caf82120-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"caf82120-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/793e5646-c93e-4865-bd14-91128c679f98/signaling 200 9ms","method":"POST","requestID":"caf82120-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"caf9ced0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c7cd9b2-26bf-43d5-af76-b78550201732","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222264.8968737} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.162562,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"caf9ced0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","object_type":"device","rebac_allow":false,"scope_allow":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":"caf9ced0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"caf9ced0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/signaling 200 7ms","method":"POST","requestID":"caf9ced0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/signaling"} device-1 | {"device":"d649ffec-00b3-46e2-a30a-90ddd22c6e55","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"aef39656-4faa-4dec-9437-11dd13265be1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 539016963982176565 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:r/SS\r\na=ice-pwd:o0fALFblRW/kOVIr0aBG9hoI\r\na=ice-options:trickle\r\na=fingerprint:sha-256 EF:20:FD:D3:C8:84:21:F7:E7:9E:94:91:64:8A:90:A4:C0:76:F8:69:60:8C:FC:F8:C2:DE:D6:84:03:46:CC:F7\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"793e5646-c93e-4865-bd14-91128c679f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:4224355206 1 udp 2113937151 690de39d-4af9-4636-b007-5a66d5b04c22.local 46988 typ host generation 0 ufrag r/SS network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"793e5646-c93e-4865-bd14-91128c679f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"793e5646-c93e-4865-bd14-91128c679f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:2145903097 1 udp 1677729535 141.24.211.56 46988 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag r/SS network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"793e5646-c93e-4865-bd14-91128c679f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aef39656-4faa-4dec-9437-11dd13265be1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"793e5646-c93e-4865-bd14-91128c679f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"d649ffec-00b3-46e2-a30a-90ddd22c6e55","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d649ffec-00b3-46e2-a30a-90ddd22c6e55","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d649ffec-00b3-46e2-a30a-90ddd22c6e55","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.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":"d32bef168b7a65d8e2020ccd9729663f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98'"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d32bef168b7a65d8e2020ccd9729663f","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1"}}},"level":"info","message":"received a callback","requestID":"d32bef168b7a65d8e2020ccd9729663f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"d32bef168b7a65d8e2020ccd9729663f","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"d32bef168b7a65d8e2020ccd9729663f"} device-1 | {"data":{"peerconnection":"aef39656-4faa-4dec-9437-11dd13265be1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d649ffec-00b3-46e2-a30a-90ddd22c6e55","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"793e5646-c93e-4865-bd14-91128c679f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"d649ffec-00b3-46e2-a30a-90ddd22c6e55","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"aef39656-4faa-4dec-9437-11dd13265be1","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"793e5646-c93e-4865-bd14-91128c679f98","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/aef39656-4faa-4dec-9437-11dd13265be1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aef39656-4faa-4dec-9437-11dd13265be1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d0042ddcbf9ac6f4a74972e4a1ff2263","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d0042ddcbf9ac6f4a74972e4a1ff2263","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1"}}},"level":"info","message":"received a callback","requestID":"d0042ddcbf9ac6f4a74972e4a1ff2263"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"cc364670-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:46Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faef39656-4faa-4dec-9437-11dd13265be1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d558c318-165d-4cbf-aeb0-7498ff32b784","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222266.9730825} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.28923,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cc364670-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1","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":"cc364670-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"cc364670-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/aef39656-4faa-4dec-9437-11dd13265be1 200 10ms","method":"GET","requestID":"cc364670-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"d0042ddcbf9ac6f4a74972e4a1ff2263","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"d0042ddcbf9ac6f4a74972e4a1ff2263"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc3b4f80-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aed89556-159b-4649-b02a-2d4193a729eb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.0071108} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.499581,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cc3b4f80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","object_type":"device","rebac_allow":false,"scope_allow":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":"cc3b4f80-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc3b4f80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/793e5646-c93e-4865-bd14-91128c679f98/signaling 200 13ms","method":"POST","requestID":"cc3b4f80-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc3d9970-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a8aaebd-95d2-4b82-9f68-a4a0b3e2dcd5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.0211961} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.420886,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cc3d9970-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc3d9970-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc3d9970-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/signaling 200 12ms","method":"POST","requestID":"cc3d9970-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ","level":"info","message":"auth send jwt","requestID":"1e6d4b3b88966af82d905e1d073eff5b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1e6d4b3b88966af82d905e1d073eff5b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c","requestID":"1e6d4b3b88966af82d905e1d073eff5b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.130641,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1e6d4b3b88966af82d905e1d073eff5b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222267,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1e6d4b3b88966af82d905e1d073eff5b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c","requestID":"1e6d4b3b88966af82d905e1d073eff5b"} gateway-1 | {"time_local":"24/Sep/2024:23:57:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c HTTP/1.1","status": "200","body_bytes_sent":"1289","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e6d4b3b88966af82d905e1d073eff5b"} experiment-1 | {"level":"info","message":"GET /experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c 200 14ms","method":"GET","requestID":"1e6d4b3b88966af82d905e1d073eff5b","responseTime":14,"status":200,"url":"/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ","level":"info","message":"auth send jwt","requestID":"a872f1ef964954e25a95c9f833cf2ad2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a872f1ef964954e25a95c9f833cf2ad2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c","requestID":"a872f1ef964954e25a95c9f833cf2ad2"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.894583,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a872f1ef964954e25a95c9f833cf2ad2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222267,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a872f1ef964954e25a95c9f833cf2ad2","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Attempting to finish experiment","requestID":"a872f1ef964954e25a95c9f833cf2ad2"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"cc4a6ab0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.304025,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cc4a6ab0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222267,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cc4a6ab0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1","device":"793e5646-c93e-4865-bd14-91128c679f98","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"d649ffec-00b3-46e2-a30a-90ddd22c6e55","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d649ffec-00b3-46e2-a30a-90ddd22c6e55","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d649ffec-00b3-46e2-a30a-90ddd22c6e55","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/aef39656-4faa-4dec-9437-11dd13265be1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aef39656-4faa-4dec-9437-11dd13265be1","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8bf495bce7e170afa69b3ed21b7651a5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8bf495bce7e170afa69b3ed21b7651a5","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faef39656-4faa-4dec-9437-11dd13265be1': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faef39656-4faa-4dec-9437-11dd13265be1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"88afa136-3b2e-475f-a68c-1fc3e1ac7d9a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.1215785} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"37aa943823b8e7ab61c17f1fea7264eb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1"}}},"level":"info","message":"received a callback","requestID":"8bf495bce7e170afa69b3ed21b7651a5"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d263b33b-88c7-4acd-afdb-eb52bc531335","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.122204} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"37aa943823b8e7ab61c17f1fea7264eb","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"cc4a6ab0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1"}}},"level":"info","message":"received a callback","requestID":"37aa943823b8e7ab61c17f1fea7264eb"} device-1 | {"data":{"peerconnection":"aef39656-4faa-4dec-9437-11dd13265be1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"cc4a6ab0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/aef39656-4faa-4dec-9437-11dd13265be1 204 43ms","method":"DELETE","requestID":"cc4a6ab0-7ad0-11ef-9247-9909de679d1e","responseTime":43,"status":204,"url":"/peerconnections/aef39656-4faa-4dec-9437-11dd13265be1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"},"level":"info","message":"Successfully finished experiment","requestID":"a872f1ef964954e25a95c9f833cf2ad2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc5455c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F793e5646-c93e-4865-bd14-91128c679f98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0a77569-4df3-4158-aeb2-24f456594723","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.1720665} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.206925,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cc5455c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/793e5646-c93e-4865-bd14-91128c679f98","object_type":"device","rebac_allow":false,"scope_allow":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":"cc5455c0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc5455c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/793e5646-c93e-4865-bd14-91128c679f98/signaling 200 13ms","method":"POST","requestID":"cc5455c0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/793e5646-c93e-4865-bd14-91128c679f98/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fffc62d62-7bd3-4ed5-a02f-435a7790751c': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fffc62d62-7bd3-4ed5-a02f-435a7790751c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"75cfbe27-2913-4ab5-8464-2e6ea17e55ed","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.1780753} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c7d5a77-1215-430a-b7d4-20be99dbe43d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.1784308} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc569fb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"a872f1ef964954e25a95c9f833cf2ad2","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd649ffec-00b3-46e2-a30a-90ddd22c6e55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"978c0108-23c0-4116-a1ee-7dee7b175f26","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.1846585} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.97678,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cc569fb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc569fb0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc569fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/signaling 200 11ms","method":"POST","requestID":"cc569fb0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/d649ffec-00b3-46e2-a30a-90ddd22c6e55/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c","requestID":"a872f1ef964954e25a95c9f833cf2ad2"} gateway-1 | {"time_local":"24/Sep/2024:23:57:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a872f1ef964954e25a95c9f833cf2ad2"} experiment-1 | {"level":"info","message":"DELETE /experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c 204 158ms","method":"DELETE","requestID":"a872f1ef964954e25a95c9f833cf2ad2","responseTime":158,"status":204,"url":"/experiments/ffc62d62-7bd3-4ed5-a02f-435a7790751c"} gateway-1 | {"time_local":"24/Sep/2024:23:57:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3230","request_time":"4.239","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"380c618c3c724c972e2d0fd0e6af9add"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"8bf495bce7e170afa69b3ed21b7651a5","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"8bf495bce7e170afa69b3ed21b7651a5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"37aa943823b8e7ab61c17f1fea7264eb","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"37aa943823b8e7ab61c17f1fea7264eb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ","level":"info","message":"auth send jwt","requestID":"454f9d389635bef7eee0fbaf16d9afd7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"454f9d389635bef7eee0fbaf16d9afd7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"454f9d389635bef7eee0fbaf16d9afd7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:47Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3094","request_time":"2.743","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2f8314f094fbd19404a02d6039c70699"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.067642,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"454f9d389635bef7eee0fbaf16d9afd7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222267,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"454f9d389635bef7eee0fbaf16d9afd7","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/d649ffec-00b3-46e2-a30a-90ddd22c6e55' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"91b70926-e9d5-4140-ac44-82756b4ad790","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.2702136} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"454f9d389635bef7eee0fbaf16d9afd7","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/793e5646-c93e-4865-bd14-91128c679f98' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40516cfd-e525-4f95-9710-10b3c27266ed","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.274711} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"454f9d389635bef7eee0fbaf16d9afd7","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"40c61b5c-5098-40fc-a1a2-fdbf7d5a43b2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.2832673} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a15b646-b5c7-4d2b-8f4c-cd2f6f454c29","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.283367} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"454f9d389635bef7eee0fbaf16d9afd7","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.283236910Z"}]},"request_id":"9508fe7f-2a21-4090-ba76-186dd47529ef","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.287668} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"454f9d389635bef7eee0fbaf16d9afd7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"454f9d389635bef7eee0fbaf16d9afd7"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"454f9d389635bef7eee0fbaf16d9afd7","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"454f9d389635bef7eee0fbaf16d9afd7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ","level":"info","message":"auth send jwt","requestID":"69980378bd2bbb4c8666bb6fb06d6c43"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"69980378bd2bbb4c8666bb6fb06d6c43","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"69980378bd2bbb4c8666bb6fb06d6c43"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.664718,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"69980378bd2bbb4c8666bb6fb06d6c43","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222267,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"69980378bd2bbb4c8666bb6fb06d6c43","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"82545bd1-92f7-453a-b2de-498073ee89e9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.3163188} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"69980378bd2bbb4c8666bb6fb06d6c43","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b3fc3c0-fc00-4a03-9df8-9aaae4b5ff27","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.3211272} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"69980378bd2bbb4c8666bb6fb06d6c43","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a9e77ab0-7646-45c1-bb43-f2e1cdfdd2a7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.331116} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b60ddf1-0333-43ca-954b-03f11fdb72fd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.3313553} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"69980378bd2bbb4c8666bb6fb06d6c43","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.331085751Z"}]},"request_id":"50cfe2e5-d0bc-452c-b318-ba062926e276","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.3350625} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"69980378bd2bbb4c8666bb6fb06d6c43","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"69980378bd2bbb4c8666bb6fb06d6c43"} gateway-1 | {"time_local":"24/Sep/2024:23:57:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69980378bd2bbb4c8666bb6fb06d6c43"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"69980378bd2bbb4c8666bb6fb06d6c43","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ","level":"info","message":"auth send jwt","requestID":"df22906e4f3977f3934467aba71f16c0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"df22906e4f3977f3934467aba71f16c0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"df22906e4f3977f3934467aba71f16c0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.133933,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"df22906e4f3977f3934467aba71f16c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222267,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"df22906e4f3977f3934467aba71f16c0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.283236910Z"}]},"request_id":"e3b7fcad-96f9-438b-ad19-1a88288b5a16","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.8301287} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"df22906e4f3977f3934467aba71f16c0","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2dbe4dd-ec02-42d4-bb33-9b5a02a90bba","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.836656} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"df22906e4f3977f3934467aba71f16c0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.283236910Z"}]},"request_id":"8f34af0f-39a8-4c0f-b87c-edc6f8a0c21d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222267.850304} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"df22906e4f3977f3934467aba71f16c0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"df22906e4f3977f3934467aba71f16c0"} device-1 | {"level":"info","message":"PATCH /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b 200 37ms","method":"PATCH","requestID":"df22906e4f3977f3934467aba71f16c0","responseTime":37,"status":200,"url":"/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b"} gateway-1 | {"time_local":"24/Sep/2024:23:57:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"df22906e4f3977f3934467aba71f16c0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ","level":"info","message":"auth send jwt","requestID":"bc2cb3d7480273a2bc2a66f45bc724de"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bc2cb3d7480273a2bc2a66f45bc724de","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bc2cb3d7480273a2bc2a66f45bc724de"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.265855,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bc2cb3d7480273a2bc2a66f45bc724de","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222267,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2N30.qbVw8azfEYzIiz53zGZRnIO1lHNooy2Qbf8KJoRNPUQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bc2cb3d7480273a2bc2a66f45bc724de","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bc2cb3d7480273a2bc2a66f45bc724de"} device-1 | {"level":"info","message":"POST /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/websocket 200 21ms","method":"POST","requestID":"bc2cb3d7480273a2bc2a66f45bc724de","responseTime":21,"status":200,"url":"/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"bc2cb3d7480273a2bc2a66f45bc724de"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c1897c29abc5ad75aa19199706b8553e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c1897c29abc5ad75aa19199706b8553e","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.006","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c1897c29abc5ad75aa19199706b8553e"} device-1 | {"level":"info","message":"OPTIONS /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/websocket 200 1ms","method":"OPTIONS","requestID":"c1897c29abc5ad75aa19199706b8553e","responseTime":1,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU","level":"info","message":"auth send jwt","requestID":"01ad0ed0639d9e8194c7bdf258ff162b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"01ad0ed0639d9e8194c7bdf258ff162b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"01ad0ed0639d9e8194c7bdf258ff162b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.261978,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"01ad0ed0639d9e8194c7bdf258ff162b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"01ad0ed0639d9e8194c7bdf258ff162b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"01ad0ed0639d9e8194c7bdf258ff162b"} gateway-1 | {"time_local":"24/Sep/2024:23:57:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/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":"01ad0ed0639d9e8194c7bdf258ff162b"} device-1 | {"level":"info","message":"POST /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/websocket 200 30ms","method":"POST","requestID":"01ad0ed0639d9e8194c7bdf258ff162b","responseTime":30,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a79a9c5aab3dc95b7bc00bbabdc1c6e8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a79a9c5aab3dc95b7bc00bbabdc1c6e8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"a79a9c5aab3dc95b7bc00bbabdc1c6e8"} device-1 | {"level":"info","message":"OPTIONS /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827? 200 1ms","method":"OPTIONS","requestID":"a79a9c5aab3dc95b7bc00bbabdc1c6e8","responseTime":1,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU","level":"info","message":"auth send jwt","requestID":"37c4edfb7a24b5f357ad9895477c1f35"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"37c4edfb7a24b5f357ad9895477c1f35","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"37c4edfb7a24b5f357ad9895477c1f35"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.233797,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"37c4edfb7a24b5f357ad9895477c1f35","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"37c4edfb7a24b5f357ad9895477c1f35","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.331085751Z"}]},"request_id":"0805c507-e4ea-46e1-82c4-91a8362d50ee","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.429815} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"37c4edfb7a24b5f357ad9895477c1f35","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe882b8d-0e1e-4b77-8562-0828ba846ae6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.440432} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"37c4edfb7a24b5f357ad9895477c1f35","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.331085751Z"}]},"request_id":"bf3a03f0-7744-4e8b-8085-1201eacc4c10","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.4546242} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"37c4edfb7a24b5f357ad9895477c1f35","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"37c4edfb7a24b5f357ad9895477c1f35"} gateway-1 | {"time_local":"24/Sep/2024:23:57:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.052","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"37c4edfb7a24b5f357ad9895477c1f35"} device-1 | {"level":"info","message":"PATCH /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827? 200 46ms","method":"PATCH","requestID":"37c4edfb7a24b5f357ad9895477c1f35","responseTime":46,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU","level":"info","message":"auth send jwt","requestID":"49c10b86a1c7411bc90de290c489a608"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"49c10b86a1c7411bc90de290c489a608","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"49c10b86a1c7411bc90de290c489a608"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.244745,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"49c10b86a1c7411bc90de290c489a608","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"49c10b86a1c7411bc90de290c489a608","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.283236910Z"}]},"request_id":"473dc1aa-1631-417a-a40c-9ca191db12c6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.4881139} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"49c10b86a1c7411bc90de290c489a608","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"49c10b86a1c7411bc90de290c489a608"} gateway-1 | {"time_local":"24/Sep/2024:23:57:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"49c10b86a1c7411bc90de290c489a608"} device-1 | {"level":"info","message":"GET /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b? 200 19ms","method":"GET","requestID":"49c10b86a1c7411bc90de290c489a608","responseTime":19,"status":200,"url":"/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU","level":"info","message":"auth send jwt","requestID":"b043d8c626284b4b94f50ecd80e88893"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b043d8c626284b4b94f50ecd80e88893","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b043d8c626284b4b94f50ecd80e88893"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.236931,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b043d8c626284b4b94f50ecd80e88893","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b043d8c626284b4b94f50ecd80e88893","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.331085751Z"}]},"request_id":"e6f4441d-ae13-432d-baad-f51d30cb3616","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.5143807} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b043d8c626284b4b94f50ecd80e88893","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b043d8c626284b4b94f50ecd80e88893"} gateway-1 | {"time_local":"24/Sep/2024:23:57:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b043d8c626284b4b94f50ecd80e88893"} device-1 | {"level":"info","message":"GET /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827? 200 18ms","method":"GET","requestID":"b043d8c626284b4b94f50ecd80e88893","responseTime":18,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU","level":"info","message":"auth send jwt","requestID":"370acdf70b5a1d65375126556e648659"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"370acdf70b5a1d65375126556e648659","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"370acdf70b5a1d65375126556e648659"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.195597,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"370acdf70b5a1d65375126556e648659","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"370acdf70b5a1d65375126556e648659","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Attempting to run experiment","requestID":"370acdf70b5a1d65375126556e648659"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Attempting to book experiment","requestID":"370acdf70b5a1d65375126556e648659"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Successfully booked experiment","requestID":"370acdf70b5a1d65375126556e648659"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cdc37620-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cdc3eb50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.658109,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34028","level":"info","msg":"Received request.","req_id":1263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cdc37620-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cdc37620-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34028","level":"info","msg":"Sent response.","req_id":1263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.921265,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cdc3eb50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cdc3eb50-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.283236910Z"}]},"request_id":"4ed2995f-bc03-40e2-a25f-e91542f2462f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.5828276} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"cdc37620-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.331085751Z"}]},"request_id":"6daccb79-af27-4ace-911a-cceb43193630","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.5846415} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cdc3eb50-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cdc37620-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b? 200 24ms","method":"GET","requestID":"cdc37620-7ad0-11ef-9247-9909de679d1e","responseTime":24,"status":200,"url":"/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cdc3eb50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827? 200 23ms","method":"GET","requestID":"cdc3eb50-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Setting up experiment","requestID":"370acdf70b5a1d65375126556e648659"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"370acdf70b5a1d65375126556e648659"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Successfully locked booking for experiment","requestID":"370acdf70b5a1d65375126556e648659"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"370acdf70b5a1d65375126556e648659"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"370acdf70b5a1d65375126556e648659"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Attempting to update booking for experiment","requestID":"370acdf70b5a1d65375126556e648659"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Successfully updated booking for experiment","requestID":"370acdf70b5a1d65375126556e648659"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Successfully set up experiment","requestID":"370acdf70b5a1d65375126556e648659"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cdce4b90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cdce99b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cdcee7d0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Successfully running experiment","requestID":"370acdf70b5a1d65375126556e648659"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.079611,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cdce4b90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cdce4b90-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34028","level":"info","msg":"Received request.","req_id":1265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34028","level":"info","msg":"Sent response.","req_id":1265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.882849,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cdce99b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cdce99b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff6f7ea5-4853-4e99-a193-010d65478806","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.6510134} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.255141,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cdcee7d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","object_type":"device","rebac_allow":false,"scope_allow":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":"cdcee7d0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.283236910Z"}]},"request_id":"2e10666f-d940-4ea6-acaf-a6c3866a5d93","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.6534762} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cdce4b90-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.331085751Z"}]},"request_id":"e72c9fa4-c739-4c18-8979-2584a106eca5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.655485} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cdce99b0-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cdcee7d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/signaling 200 14ms","method":"POST","requestID":"cdcee7d0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cdd1ce00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cdce4b90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16f2da50-c27d-4afc-a74a-5dbdd6c6ff59#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16f2da50-c27d-4afc-a74a-5dbdd6c6ff59","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"b31f0c8c-b6ac-4162-b47b-493edc2b8455","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.667665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6749a36-0992-4aca-9c50-1df411fb6ce7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.6679103} device-1 | {"level":"info","message":"GET /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b? 200 28ms","method":"GET","requestID":"cdce4b90-7ad0-11ef-9247-9909de679d1e","responseTime":28,"status":200,"url":"/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cdce99b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} device-1 | {"level":"info","message":"GET /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827? 200 28ms","method":"GET","requestID":"cdce99b0-7ad0-11ef-9247-9909de679d1e","responseTime":28,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"370acdf70b5a1d65375126556e648659","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90469fd7-252f-42f5-a7f3-f9db81ce8d55","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.6714687} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.310339,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cdd1ce00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","object_type":"device","rebac_allow":false,"scope_allow":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":"cdd1ce00-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cdd32d90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cdd1ce00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/signaling 200 16ms","method":"POST","requestID":"cdd1ce00-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf3101e7-f505-42cd-9db4-ae8c57629c79","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.6806455} experiment-1 | {"data":{"experiment":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"370acdf70b5a1d65375126556e648659"} gateway-1 | {"time_local":"24/Sep/2024:23:57:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1216","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"370acdf70b5a1d65375126556e648659"} experiment-1 | {"level":"info","message":"POST /experiments? 201 152ms","method":"POST","requestID":"370acdf70b5a1d65375126556e648659","responseTime":152,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.100513,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cdd32d90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","object_type":"device","rebac_allow":false,"scope_allow":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":"cdd32d90-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cdd32d90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/signaling 200 13ms","method":"POST","requestID":"cdd32d90-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU","level":"info","message":"auth send jwt","requestID":"4ddc68332f93ea54ba11ef85dabe8a6a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4ddc68332f93ea54ba11ef85dabe8a6a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4ddc68332f93ea54ba11ef85dabe8a6a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cdd59e90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68355,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34028","level":"info","msg":"Received request.","req_id":1270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4ddc68332f93ea54ba11ef85dabe8a6a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4ddc68332f93ea54ba11ef85dabe8a6a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ba0a92a-0e23-4f7e-abcc-5fcf302f8128","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.6930075} authorization-1 | {"client_addr":"127.0.0.1:34028","level":"info","msg":"Sent response.","req_id":1270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.615145,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cdd59e90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cdd59e90-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.283236910Z"}]},"request_id":"a84d846a-fa2e-42a1-8669-601bb921c5bc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.6955457} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4ddc68332f93ea54ba11ef85dabe8a6a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cdd59e90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/signaling 200 11ms","method":"POST","requestID":"cdd59e90-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4ddc68332f93ea54ba11ef85dabe8a6a"} gateway-1 | {"time_local":"24/Sep/2024:23:57:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ddc68332f93ea54ba11ef85dabe8a6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"370acdf70b5a1d65375126556e648659"} device-1 | {"level":"info","message":"GET /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b? 200 13ms","method":"GET","requestID":"4ddc68332f93ea54ba11ef85dabe8a6a","responseTime":13,"status":200,"url":"/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cdd79a60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cdd7c170-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU","level":"info","message":"auth send jwt","requestID":"9dd2506eabbf95c85099c053965e1802"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34028","level":"info","msg":"Received request.","req_id":1272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.972349,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9dd2506eabbf95c85099c053965e1802","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cdd79a60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9dd2506eabbf95c85099c053965e1802"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cdd79a60-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34028","level":"info","msg":"Sent response.","req_id":1272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850148,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cdd7c170-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cdd7c170-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.369396,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9dd2506eabbf95c85099c053965e1802","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9dd2506eabbf95c85099c053965e1802","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.283236910Z"}]},"request_id":"d93508fb-e1ed-451c-9b4a-b68e014ad7b6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.710977} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.331085751Z"}]},"request_id":"70339c2c-793a-41d1-8f96-904da358270c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.7120583} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cdd79a60-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cdd7c170-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:47.331085751Z"}]},"request_id":"e3025e51-978d-4d49-b1e5-e9b2d076f5c2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.7165413} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9dd2506eabbf95c85099c053965e1802","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cdd79a60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b? 200 18ms","method":"GET","requestID":"cdd79a60-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cdd7c170-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827? 200 18ms","method":"GET","requestID":"cdd7c170-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Building connection plan","requestID":"370acdf70b5a1d65375126556e648659"} 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":"18490d48-868b-4b29-aa1b-a3f494d8c914"},{"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":"7a448080-0f65-421b-befb-772bbbf1c036"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"999b66de-18e0-46c5-9053-31c68fde15d3"}]},"level":"info","message":"Built pairwise service configurations","requestID":"370acdf70b5a1d65375126556e648659"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"370acdf70b5a1d65375126556e648659"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9dd2506eabbf95c85099c053965e1802"} gateway-1 | {"time_local":"24/Sep/2024:23:57:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9dd2506eabbf95c85099c053965e1802"} device-1 | {"level":"info","message":"GET /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827? 200 18ms","method":"GET","requestID":"9dd2506eabbf95c85099c053965e1802","responseTime":18,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"cddb1cd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.777291,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cddb1cd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222269,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI2OX0.IpQovXfgE2p7LJLNehltZrI6_yJl0dB9q1RXQhMKhgU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cddb1cd0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"58295d1a-b39c-416a-ac96-d3e67950f3bb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.7361631} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61b36e56-3509-4654-8ce6-f47995919163","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.7363205} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"cddb1cd0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"cddb1cd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"cddb1cd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489'","requestID":"cddb1cd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489'","requestID":"cddb1cd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"cddb1cd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"cddb1cd0-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"cddb1cd0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"370acdf70b5a1d65375126556e648659"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cde33320-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} device-1 | {"device":"43f0e129-7fc9-4591-8be0-7cf6ff67c827","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"43f0e129-7fc9-4591-8be0-7cf6ff67c827","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ff5e097-703e-470e-a0d0-f43e904adb17","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.7829604} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.975192,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cde33320-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cde33320-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cde33320-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/signaling 200 9ms","method":"POST","requestID":"cde33320-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cde4e0d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86add5ae-e13e-4a1f-ae9c-01348335546e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222269.7931652} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.149038,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cde4e0d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","object_type":"device","rebac_allow":false,"scope_allow":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":"cde4e0d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cde4e0d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/signaling 200 9ms","method":"POST","requestID":"cde4e0d0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/signaling"} device-1 | {"device":"f0a54d54-8ddb-4dc5-9f33-e5324106b87b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"9c592216-5dc6-498c-a622-45992caf9489","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 2950682969691198205 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:WjDH\r\na=ice-pwd:8WiO4SUw+IhuE981dEoOOKCx\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FE:D8:79:28:BF:C9:AE:1B:D6:E6:EE:01:5B:C4:BF:C2:72:A6:EE:61:0E:40:82:AB:7C:7C:A9:F1:64:E6:B8:75\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"43f0e129-7fc9-4591-8be0-7cf6ff67c827","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3898965736 1 udp 2113937151 082057a2-189a-4a87-8ae3-5a5b60006c9b.local 43363 typ host generation 0 ufrag WjDH network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"43f0e129-7fc9-4591-8be0-7cf6ff67c827","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"43f0e129-7fc9-4591-8be0-7cf6ff67c827","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:2068766715 1 udp 1677729535 141.24.211.56 43363 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag WjDH network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"43f0e129-7fc9-4591-8be0-7cf6ff67c827","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9c592216-5dc6-498c-a622-45992caf9489","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"43f0e129-7fc9-4591-8be0-7cf6ff67c827","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"f0a54d54-8ddb-4dc5-9f33-e5324106b87b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f0a54d54-8ddb-4dc5-9f33-e5324106b87b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f0a54d54-8ddb-4dc5-9f33-e5324106b87b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.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":"6191ddca3c8c1e5661db2493aa1646da","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827'"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6191ddca3c8c1e5661db2493aa1646da","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489"}}},"level":"info","message":"received a callback","requestID":"6191ddca3c8c1e5661db2493aa1646da"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"6191ddca3c8c1e5661db2493aa1646da","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"6191ddca3c8c1e5661db2493aa1646da"} device-1 | {"data":{"peerconnection":"9c592216-5dc6-498c-a622-45992caf9489","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f0a54d54-8ddb-4dc5-9f33-e5324106b87b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"43f0e129-7fc9-4591-8be0-7cf6ff67c827","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f0a54d54-8ddb-4dc5-9f33-e5324106b87b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"9c592216-5dc6-498c-a622-45992caf9489","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"43f0e129-7fc9-4591-8be0-7cf6ff67c827","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/9c592216-5dc6-498c-a622-45992caf9489' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9c592216-5dc6-498c-a622-45992caf9489","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a20a05a93b8e6b0e7f5f2e8368676e28","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a20a05a93b8e6b0e7f5f2e8368676e28","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489"}}},"level":"info","message":"received a callback","requestID":"a20a05a93b8e6b0e7f5f2e8368676e28"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"cf2ace50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:51Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9c592216-5dc6-498c-a622-45992caf9489","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df141dd3-7133-4495-8917-d1eb4b62ee57","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222271.9323678} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.845454,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cf2ace50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"cf2ace50-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"cf2ace50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/9c592216-5dc6-498c-a622-45992caf9489 200 14ms","method":"GET","requestID":"cf2ace50-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/peerconnections/9c592216-5dc6-498c-a622-45992caf9489"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"a20a05a93b8e6b0e7f5f2e8368676e28","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"a20a05a93b8e6b0e7f5f2e8368676e28"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf2fb050-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:51Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa0d05b2-5c2c-41db-a648-1301f4c553fb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222271.9637532} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.373656,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cf2fb050-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","object_type":"device","rebac_allow":false,"scope_allow":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":"cf2fb050-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf2fb050-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/signaling 200 13ms","method":"POST","requestID":"cf2fb050-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf324860-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:51Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b952f163-97ca-4f7f-910f-80d7abcda178","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222271.9807184} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.859952,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cf324860-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","object_type":"device","rebac_allow":false,"scope_allow":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":"cf324860-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf324860-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/signaling 200 12ms","method":"POST","requestID":"cf324860-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s","level":"info","message":"auth send jwt","requestID":"22da5a3d4af2ca40f42fe81bab41d62c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"22da5a3d4af2ca40f42fe81bab41d62c","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59","requestID":"22da5a3d4af2ca40f42fe81bab41d62c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.330245,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"22da5a3d4af2ca40f42fe81bab41d62c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222272,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"22da5a3d4af2ca40f42fe81bab41d62c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59","requestID":"22da5a3d4af2ca40f42fe81bab41d62c"} experiment-1 | {"level":"info","message":"GET /experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59 200 16ms","method":"GET","requestID":"22da5a3d4af2ca40f42fe81bab41d62c","responseTime":16,"status":200,"url":"/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"} gateway-1 | {"time_local":"24/Sep/2024:23:57:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59 HTTP/1.1","status": "200","body_bytes_sent":"1289","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22da5a3d4af2ca40f42fe81bab41d62c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s","level":"info","message":"auth send jwt","requestID":"8a3e5784c8b64b3ebc780845f2e86160"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8a3e5784c8b64b3ebc780845f2e86160","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59","requestID":"8a3e5784c8b64b3ebc780845f2e86160"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.351911,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8a3e5784c8b64b3ebc780845f2e86160","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222272,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8a3e5784c8b64b3ebc780845f2e86160","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Attempting to finish experiment","requestID":"8a3e5784c8b64b3ebc780845f2e86160"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"cf3ecb80-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.095182,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cf3ecb80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222272,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cf3ecb80-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489","device":"43f0e129-7fc9-4591-8be0-7cf6ff67c827","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"f0a54d54-8ddb-4dc5-9f33-e5324106b87b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f0a54d54-8ddb-4dc5-9f33-e5324106b87b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f0a54d54-8ddb-4dc5-9f33-e5324106b87b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/9c592216-5dc6-498c-a622-45992caf9489' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9c592216-5dc6-498c-a622-45992caf9489","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9c592216-5dc6-498c-a622-45992caf9489': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9c592216-5dc6-498c-a622-45992caf9489","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"1be90c1c-0f10-4bfa-b674-6fe9c428f264","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.080086} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb74b61e-8d35-4090-b9e0-2d4e858c4ccb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.0804186} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"cf3ecb80-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5daf1432785201aadb913c2b383f60cc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5daf1432785201aadb913c2b383f60cc","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ed43dbb1a39412d412144741484c96da","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ed43dbb1a39412d412144741484c96da","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489"}}},"level":"info","message":"received a callback","requestID":"5daf1432785201aadb913c2b383f60cc"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9c592216-5dc6-498c-a622-45992caf9489"}}},"level":"info","message":"received a callback","requestID":"ed43dbb1a39412d412144741484c96da"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"cf3ecb80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/9c592216-5dc6-498c-a622-45992caf9489 204 35ms","method":"DELETE","requestID":"cf3ecb80-7ad0-11ef-9247-9909de679d1e","responseTime":35,"status":204,"url":"/peerconnections/9c592216-5dc6-498c-a622-45992caf9489"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"},"level":"info","message":"Successfully finished experiment","requestID":"8a3e5784c8b64b3ebc780845f2e86160"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf477e10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43f0e129-7fc9-4591-8be0-7cf6ff67c827","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2edfd666-9d79-4938-af50-93be556df307","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.1204002} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.131881,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cf477e10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827","object_type":"device","rebac_allow":false,"scope_allow":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":"cf477e10-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16f2da50-c27d-4afc-a74a-5dbdd6c6ff59': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F16f2da50-c27d-4afc-a74a-5dbdd6c6ff59","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"7e4d9be1-6c9c-4209-b9dd-7e228e715f97","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.1263924} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8b55389-d72d-4ab4-bfb7-e745f9cb9552","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.1265988} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf477e10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/signaling 200 14ms","method":"POST","requestID":"cf477e10-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"8a3e5784c8b64b3ebc780845f2e86160","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf49ef10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a54d54-8ddb-4dc5-9f33-e5324106b87b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"486d6e83-cb60-45d1-a394-8d10c93daeda","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.1375742} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.618361,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"cf49ef10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b","object_type":"device","rebac_allow":false,"scope_allow":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":"cf49ef10-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf49ef10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/signaling 200 14ms","method":"POST","requestID":"cf49ef10-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/f0a54d54-8ddb-4dc5-9f33-e5324106b87b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59","requestID":"8a3e5784c8b64b3ebc780845f2e86160"} gateway-1 | {"time_local":"24/Sep/2024:23:57:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a3e5784c8b64b3ebc780845f2e86160"} experiment-1 | {"level":"info","message":"DELETE /experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59 204 152ms","method":"DELETE","requestID":"8a3e5784c8b64b3ebc780845f2e86160","responseTime":152,"status":204,"url":"/experiments/16f2da50-c27d-4afc-a74a-5dbdd6c6ff59"} gateway-1 | {"time_local":"24/Sep/2024:23:57:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3233","request_time":"4.309","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"e8fb45d4739ba4cfaf421050d4007eeb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 110ms","method":"POST","requestID":"5daf1432785201aadb913c2b383f60cc","responseTime":110,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.114","http_referrer":"","http_user_agent":"node-fetch","requestID":"5daf1432785201aadb913c2b383f60cc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 108ms","method":"POST","requestID":"ed43dbb1a39412d412144741484c96da","responseTime":108,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.115","http_referrer":"","http_user_agent":"node-fetch","requestID":"ed43dbb1a39412d412144741484c96da"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s","level":"info","message":"auth send jwt","requestID":"e0f263781bc3dd23cc4d0d8afbade3ce"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e0f263781bc3dd23cc4d0d8afbade3ce","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e0f263781bc3dd23cc4d0d8afbade3ce"} gateway-1 | {"time_local":"24/Sep/2024:23:57:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3092","request_time":"2.837","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a267b0bcddb52f9cea2e6566171a19aa"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.030313,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0f263781bc3dd23cc4d0d8afbade3ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222272,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e0f263781bc3dd23cc4d0d8afbade3ce","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/f0a54d54-8ddb-4dc5-9f33-e5324106b87b' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bf73bc2c-aeab-4b91-827c-def4ad944dfc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.222233} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e0f263781bc3dd23cc4d0d8afbade3ce","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc2b220e-9c73-4bd8-8939-b6d149e5620d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.2272336} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/43f0e129-7fc9-4591-8be0-7cf6ff67c827' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e0f263781bc3dd23cc4d0d8afbade3ce","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"906935f9-a3d4-4303-8b8a-3b87458d2447","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.23801} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ad8e1a2-653a-4bdd-9ba2-add42dcdb8e8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.238081} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"e0f263781bc3dd23cc4d0d8afbade3ce","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.237968735Z"}]},"request_id":"37c2951c-548d-4fda-b1ab-dd37f17b08b0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.2430732} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e0f263781bc3dd23cc4d0d8afbade3ce","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e0f263781bc3dd23cc4d0d8afbade3ce"} gateway-1 | {"time_local":"24/Sep/2024:23:57:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0f263781bc3dd23cc4d0d8afbade3ce"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"e0f263781bc3dd23cc4d0d8afbade3ce","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s","level":"info","message":"auth send jwt","requestID":"b223c3cae8ceb01d1bd802f30ddd3091"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b223c3cae8ceb01d1bd802f30ddd3091","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b223c3cae8ceb01d1bd802f30ddd3091"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.739206,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b223c3cae8ceb01d1bd802f30ddd3091","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222272,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b223c3cae8ceb01d1bd802f30ddd3091","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"87afee07-8f58-4a89-88f1-63dd99ee233c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.272569} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b223c3cae8ceb01d1bd802f30ddd3091","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20f1f199-fff4-45c6-baa8-e70bcf5db6f7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.2771828} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b223c3cae8ceb01d1bd802f30ddd3091","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a01450b0-11eb-489d-a38e-f2f686b66c89","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.2870378} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e612758d-2bd8-4960-b2e2-4ca96506372d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.287232} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"b223c3cae8ceb01d1bd802f30ddd3091","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.286999350Z"}]},"request_id":"61f968da-5cf9-4f09-8610-a1d303724c6f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.291244} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b223c3cae8ceb01d1bd802f30ddd3091","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b223c3cae8ceb01d1bd802f30ddd3091"} gateway-1 | {"time_local":"24/Sep/2024:23:57:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b223c3cae8ceb01d1bd802f30ddd3091"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"b223c3cae8ceb01d1bd802f30ddd3091","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s","level":"info","message":"auth send jwt","requestID":"25ef6835a7d8b8d46807207e152a1a38"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"25ef6835a7d8b8d46807207e152a1a38","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"25ef6835a7d8b8d46807207e152a1a38"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.219672,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"25ef6835a7d8b8d46807207e152a1a38","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222272,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"25ef6835a7d8b8d46807207e152a1a38","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.237968735Z"}]},"request_id":"0e1af0e2-a069-47cc-bebd-6cbf79f6b97d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.7947807} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"25ef6835a7d8b8d46807207e152a1a38","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4021b3b0-cf36-4815-bb8d-f1b02a02badc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.8026917} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"25ef6835a7d8b8d46807207e152a1a38","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.237968735Z"}]},"request_id":"8f63f426-0e92-4714-a5fc-d1aa18a3c7dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222272.8165529} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"25ef6835a7d8b8d46807207e152a1a38","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"25ef6835a7d8b8d46807207e152a1a38"} device-1 | {"level":"info","message":"PATCH /devices/193468b4-57c3-4708-b21d-51259b77c50d 200 40ms","method":"PATCH","requestID":"25ef6835a7d8b8d46807207e152a1a38","responseTime":40,"status":200,"url":"/devices/193468b4-57c3-4708-b21d-51259b77c50d"} gateway-1 | {"time_local":"24/Sep/2024:23:57:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/193468b4-57c3-4708-b21d-51259b77c50d HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"25ef6835a7d8b8d46807207e152a1a38"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s","level":"info","message":"auth send jwt","requestID":"d39a25ea44397a50f47c9662aeb579f1"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d39a25ea44397a50f47c9662aeb579f1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d39a25ea44397a50f47c9662aeb579f1"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.187863,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d39a25ea44397a50f47c9662aeb579f1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222272,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Mn0.HNBlbUrqH9tycWiXZqvBlgoy3NpbEj12cQKPOkdQY_s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d39a25ea44397a50f47c9662aeb579f1","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d39a25ea44397a50f47c9662aeb579f1"} gateway-1 | {"time_local":"24/Sep/2024:23:57:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/193468b4-57c3-4708-b21d-51259b77c50d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"d39a25ea44397a50f47c9662aeb579f1"} device-1 | {"level":"info","message":"POST /devices/193468b4-57c3-4708-b21d-51259b77c50d/websocket 200 18ms","method":"POST","requestID":"d39a25ea44397a50f47c9662aeb579f1","responseTime":18,"status":200,"url":"/devices/193468b4-57c3-4708-b21d-51259b77c50d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f0316c5dd1bb72779be147929578cc55","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f0316c5dd1bb72779be147929578cc55","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/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":"f0316c5dd1bb72779be147929578cc55"} device-1 | {"level":"info","message":"OPTIONS /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/websocket 200 1ms","method":"OPTIONS","requestID":"f0316c5dd1bb72779be147929578cc55","responseTime":1,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A","level":"info","message":"auth send jwt","requestID":"e3ca39a3e8dd7aa63529d2168134159b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e3ca39a3e8dd7aa63529d2168134159b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e3ca39a3e8dd7aa63529d2168134159b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202321,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e3ca39a3e8dd7aa63529d2168134159b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e3ca39a3e8dd7aa63529d2168134159b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e3ca39a3e8dd7aa63529d2168134159b"} gateway-1 | {"time_local":"24/Sep/2024:23:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/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":"e3ca39a3e8dd7aa63529d2168134159b"} device-1 | {"level":"info","message":"POST /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/websocket 200 21ms","method":"POST","requestID":"e3ca39a3e8dd7aa63529d2168134159b","responseTime":21,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2fd187f34ce0bb3bae08425b08f91ba4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2fd187f34ce0bb3bae08425b08f91ba4","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"2fd187f34ce0bb3bae08425b08f91ba4"} device-1 | {"level":"info","message":"OPTIONS /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8? 200 1ms","method":"OPTIONS","requestID":"2fd187f34ce0bb3bae08425b08f91ba4","responseTime":1,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A","level":"info","message":"auth send jwt","requestID":"84bae9504a8a6ed38ac10a71b402ee46"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"84bae9504a8a6ed38ac10a71b402ee46","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"84bae9504a8a6ed38ac10a71b402ee46"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.228776,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"84bae9504a8a6ed38ac10a71b402ee46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"84bae9504a8a6ed38ac10a71b402ee46","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.286999350Z"}]},"request_id":"287cdd2e-d212-4f1f-b72d-0a72b9900445","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.419376} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"84bae9504a8a6ed38ac10a71b402ee46","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d88d2b2-15c7-4282-8d03-adf97c8d9535","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.4271054} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"84bae9504a8a6ed38ac10a71b402ee46","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.286999350Z"}]},"request_id":"d6668094-152f-4f8d-91e5-f1a69711b6f5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.4388542} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"84bae9504a8a6ed38ac10a71b402ee46","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"84bae9504a8a6ed38ac10a71b402ee46"} gateway-1 | {"time_local":"24/Sep/2024:23:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"84bae9504a8a6ed38ac10a71b402ee46"} device-1 | {"level":"info","message":"PATCH /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8? 200 38ms","method":"PATCH","requestID":"84bae9504a8a6ed38ac10a71b402ee46","responseTime":38,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A","level":"info","message":"auth send jwt","requestID":"c5e8473f6c77bd89eb2a71be40c1398a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c5e8473f6c77bd89eb2a71be40c1398a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5e8473f6c77bd89eb2a71be40c1398a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.32951,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c5e8473f6c77bd89eb2a71be40c1398a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c5e8473f6c77bd89eb2a71be40c1398a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.237968735Z"}]},"request_id":"70813581-5016-4f42-8e76-540ff3269429","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.4651365} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c5e8473f6c77bd89eb2a71be40c1398a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5e8473f6c77bd89eb2a71be40c1398a"} device-1 | {"level":"info","message":"GET /devices/193468b4-57c3-4708-b21d-51259b77c50d? 200 17ms","method":"GET","requestID":"c5e8473f6c77bd89eb2a71be40c1398a","responseTime":17,"status":200,"url":"/devices/193468b4-57c3-4708-b21d-51259b77c50d?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/193468b4-57c3-4708-b21d-51259b77c50d? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c5e8473f6c77bd89eb2a71be40c1398a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A","level":"info","message":"auth send jwt","requestID":"80d8c3e733b903335b709dd38debe7b6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"80d8c3e733b903335b709dd38debe7b6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"80d8c3e733b903335b709dd38debe7b6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.790628,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"80d8c3e733b903335b709dd38debe7b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"80d8c3e733b903335b709dd38debe7b6","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.286999350Z"}]},"request_id":"923bd138-b044-4469-9a7a-ebdc3e75b93a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.4879668} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"80d8c3e733b903335b709dd38debe7b6","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"80d8c3e733b903335b709dd38debe7b6"} gateway-1 | {"time_local":"24/Sep/2024:23:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80d8c3e733b903335b709dd38debe7b6"} device-1 | {"level":"info","message":"GET /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8? 200 16ms","method":"GET","requestID":"80d8c3e733b903335b709dd38debe7b6","responseTime":16,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A","level":"info","message":"auth send jwt","requestID":"9504aaaca79032fa7aef6d5665038752"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9504aaaca79032fa7aef6d5665038752","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9504aaaca79032fa7aef6d5665038752"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.260633,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9504aaaca79032fa7aef6d5665038752","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9504aaaca79032fa7aef6d5665038752","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Attempting to run experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Attempting to book experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Successfully booked experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0b9d2c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0b9f9d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.135951,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0b9d2c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d0b9d2c0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.802686,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0b9f9d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d0b9f9d0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.237968735Z"}]},"request_id":"28cf5992-4f5c-4fc1-a194-82872b3865b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.549205} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d0b9d2c0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.286999350Z"}]},"request_id":"2c1715dc-8f0f-4e4d-81ce-e827111c9233","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.5527265} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d0b9f9d0-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0b9d2c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/193468b4-57c3-4708-b21d-51259b77c50d? 200 14ms","method":"GET","requestID":"d0b9d2c0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/193468b4-57c3-4708-b21d-51259b77c50d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0b9f9d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8? 200 16ms","method":"GET","requestID":"d0b9f9d0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Setting up experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Successfully set up experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0c36fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0c3bdd0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Successfully running experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0c43300-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.330698,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0c36fb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d0c36fb0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.084075,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0c3bdd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d0c3bdd0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8dd68f47-8c04-40bc-b332-7990bddbfcd7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.6169372} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.237968735Z"}]},"request_id":"c3be7d40-ca9d-4fad-9ed1-5e2b33af955b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.6177614} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d0c36fb0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.695816,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0c43300-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","object_type":"device","rebac_allow":false,"scope_allow":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":"d0c43300-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.286999350Z"}]},"request_id":"37a93f06-0abd-477f-ac01-c2de00cb6901","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.619443} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d0c3bdd0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0c36fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/193468b4-57c3-4708-b21d-51259b77c50d? 200 23ms","method":"GET","requestID":"d0c36fb0-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/193468b4-57c3-4708-b21d-51259b77c50d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0c43300-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/193468b4-57c3-4708-b21d-51259b77c50d/signaling 200 19ms","method":"POST","requestID":"d0c43300-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/193468b4-57c3-4708-b21d-51259b77c50d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0c3bdd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8? 200 23ms","method":"GET","requestID":"d0c3bdd0-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb639cfd8-ad95-4951-b435-f4067333d6e2#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb639cfd8-ad95-4951-b435-f4067333d6e2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"8961dae5-9f66-4351-aed0-1dde759ebbb4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.629628} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0c76750-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54f2a9b1-897d-470c-ae19-e9c77dac458e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.6299214} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"9504aaaca79032fa7aef6d5665038752","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0c7b570-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d07505bb-6460-4443-942c-56cbb054a50a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.6350784} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.578761,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0c76750-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","object_type":"device","rebac_allow":false,"scope_allow":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":"d0c76750-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ca4955c-c024-4fb3-8d6e-896288d2e041","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.6365995} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.574889,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0c7b570-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","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/b639cfd8-ad95-4951-b435-f4067333d6e2","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9504aaaca79032fa7aef6d5665038752"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d0c7b570-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /experiments? 201 139ms","method":"POST","requestID":"9504aaaca79032fa7aef6d5665038752","responseTime":139,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1216","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9504aaaca79032fa7aef6d5665038752"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0c76750-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/signaling 200 13ms","method":"POST","requestID":"d0c76750-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0c7b570-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/193468b4-57c3-4708-b21d-51259b77c50d/signaling 200 12ms","method":"POST","requestID":"d0c7b570-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/193468b4-57c3-4708-b21d-51259b77c50d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A","level":"info","message":"auth send jwt","requestID":"b217bc9fd30e935c6f945c6eed3e2b81"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b217bc9fd30e935c6f945c6eed3e2b81","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0c9ff60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b217bc9fd30e935c6f945c6eed3e2b81"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634057,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b217bc9fd30e935c6f945c6eed3e2b81","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b217bc9fd30e935c6f945c6eed3e2b81","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bc54b7a-2256-4286-a6df-df0533e55727","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.6507487} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.199235,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0c9ff60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","object_type":"device","rebac_allow":false,"scope_allow":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":"d0c9ff60-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.237968735Z"}]},"request_id":"fca0bbc1-4c4d-4f7b-ab51-600dcfc55ecb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.6541584} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0c9ff60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b217bc9fd30e935c6f945c6eed3e2b81","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/signaling 200 9ms","method":"POST","requestID":"d0c9ff60-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0cbad10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0cbd420-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b217bc9fd30e935c6f945c6eed3e2b81"} gateway-1 | {"time_local":"24/Sep/2024:23:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/193468b4-57c3-4708-b21d-51259b77c50d? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b217bc9fd30e935c6f945c6eed3e2b81"} device-1 | {"level":"info","message":"GET /devices/193468b4-57c3-4708-b21d-51259b77c50d? 200 12ms","method":"GET","requestID":"b217bc9fd30e935c6f945c6eed3e2b81","responseTime":12,"status":200,"url":"/devices/193468b4-57c3-4708-b21d-51259b77c50d?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.825009,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0cbad10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d0cbad10-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.556579,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0cbd420-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d0cbd420-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A","level":"info","message":"auth send jwt","requestID":"102db2d445cd626fa7848d1134b5cd4a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"102db2d445cd626fa7848d1134b5cd4a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"102db2d445cd626fa7848d1134b5cd4a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.237968735Z"}]},"request_id":"93c9ac1d-628f-4525-b374-932773277dce","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.6644275} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d0cbad10-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.286999350Z"}]},"request_id":"839ffbe7-88f1-4530-a317-dc684fe3492d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.665553} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d0cbd420-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682362,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"102db2d445cd626fa7848d1134b5cd4a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"102db2d445cd626fa7848d1134b5cd4a","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0cbad10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/193468b4-57c3-4708-b21d-51259b77c50d? 200 12ms","method":"GET","requestID":"d0cbad10-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/193468b4-57c3-4708-b21d-51259b77c50d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0cbd420-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8? 200 14ms","method":"GET","requestID":"d0cbd420-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:52.286999350Z"}]},"request_id":"ccd74fd2-120b-419e-858f-80175b6ae909","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.6726856} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Building connection plan","requestID":"9504aaaca79032fa7aef6d5665038752"} 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":"bac16635-afa8-4938-b074-0a74f98cbc04"},{"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":"d79698be-f31d-43c0-bc81-683f487429b0"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"6512bf9d-61dc-4df1-b032-d5c59a7de648"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9504aaaca79032fa7aef6d5665038752"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"102db2d445cd626fa7848d1134b5cd4a","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9504aaaca79032fa7aef6d5665038752"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d0ce6c30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.675816,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0ce6c30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222274,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3NH0.MWw5XlFgMlENL3Ng105pSYPiKVLaJxrwuCgwmOBvo1A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d0ce6c30-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"102db2d445cd626fa7848d1134b5cd4a"} gateway-1 | {"time_local":"24/Sep/2024:23:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"102db2d445cd626fa7848d1134b5cd4a"} device-1 | {"level":"info","message":"GET /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8? 200 17ms","method":"GET","requestID":"102db2d445cd626fa7848d1134b5cd4a","responseTime":17,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"af6f9376-058a-4eb6-a96c-03135af9461e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.6883852} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d2d97af-f093-420d-bbe3-5ab479e2c3a6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.6885886} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d0ce6c30-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d0ce6c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d0ce6c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824'","requestID":"d0ce6c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824'","requestID":"d0ce6c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d0ce6c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"d0ce6c30-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d0ce6c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"device":"c63d4076-5894-4ce2-a0e0-64e5438589b8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c63d4076-5894-4ce2-a0e0-64e5438589b8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9504aaaca79032fa7aef6d5665038752"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0da5310-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d08a393d-1235-4588-a535-a36b1d0e79d1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.7590144} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.838636,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0da5310-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d0da5310-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0da5310-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/193468b4-57c3-4708-b21d-51259b77c50d/signaling 200 10ms","method":"POST","requestID":"d0da5310-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/193468b4-57c3-4708-b21d-51259b77c50d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0dc27d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8549a0e-13dc-4284-ae3d-c2602105f8af","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222274.7701578} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.35149,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d0dc27d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","object_type":"device","rebac_allow":false,"scope_allow":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":"d0dc27d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0dc27d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/signaling 200 9ms","method":"POST","requestID":"d0dc27d0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/signaling"} device-1 | {"device":"193468b4-57c3-4708-b21d-51259b77c50d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6528513431669996921 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:N2vm\r\na=ice-pwd:B+G6qHPDHPCC7o9Ge4HadFYa\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B9:76:B4:40:7E:84:C2:0F:07:D3:42:49:49:94:CC:F6:73:A1:3A:E1:E5:42:9A:B1:DC:8C:4C:41:96:0A:74:45\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"c63d4076-5894-4ce2-a0e0-64e5438589b8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2811800481 1 udp 2113937151 b094d16b-6e8f-4765-b789-d15f0ed13f74.local 34022 typ host generation 0 ufrag N2vm network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c63d4076-5894-4ce2-a0e0-64e5438589b8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"c63d4076-5894-4ce2-a0e0-64e5438589b8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"c63d4076-5894-4ce2-a0e0-64e5438589b8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ddf9247bed44775b91446b6e85e79db5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ddf9247bed44775b91446b6e85e79db5","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824"}}},"level":"info","message":"received a callback","requestID":"ddf9247bed44775b91446b6e85e79db5"} device-1 | {"device":"193468b4-57c3-4708-b21d-51259b77c50d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"193468b4-57c3-4708-b21d-51259b77c50d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"193468b4-57c3-4708-b21d-51259b77c50d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.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":"ddf9247bed44775b91446b6e85e79db5","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"ddf9247bed44775b91446b6e85e79db5"} device-1 | {"data":{"peerconnection":"927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"193468b4-57c3-4708-b21d-51259b77c50d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c63d4076-5894-4ce2-a0e0-64e5438589b8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"193468b4-57c3-4708-b21d-51259b77c50d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c63d4076-5894-4ce2-a0e0-64e5438589b8","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/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5ac9a40106fd15446bd61fc33b8eef0f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5ac9a40106fd15446bd61fc33b8eef0f","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824"}}},"level":"info","message":"received a callback","requestID":"5ac9a40106fd15446bd61fc33b8eef0f"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d215b940-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:56Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bbdcbc4b-e7e8-4323-a1e9-a6f69fe17e50","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222276.8247} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.810651,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d215b940-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","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":"d215b940-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d215b940-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824 200 8ms","method":"GET","requestID":"d215b940-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"5ac9a40106fd15446bd61fc33b8eef0f","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ac9a40106fd15446bd61fc33b8eef0f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d21b1070-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:56Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86b2112d-90a9-4e87-8af4-715849017e4c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222276.860814} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.307019,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d21b1070-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","object_type":"device","rebac_allow":false,"scope_allow":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":"d21b1070-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d21b1070-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/signaling 200 12ms","method":"POST","requestID":"d21b1070-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d21d5a60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:56Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7b03197-0c2a-4fb3-9525-4d2de37baaf1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222276.8765225} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.556109,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d21d5a60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","object_type":"device","rebac_allow":false,"scope_allow":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":"d21d5a60-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d21d5a60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/193468b4-57c3-4708-b21d-51259b77c50d/signaling 200 12ms","method":"POST","requestID":"d21d5a60-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/193468b4-57c3-4708-b21d-51259b77c50d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Nn0.k82j5CdNtastFPyC3okdrx0bjO2Bwip63woqBwF7Y84","level":"info","message":"auth send jwt","requestID":"0eadd04d68c6473fec38d636478f9342"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0eadd04d68c6473fec38d636478f9342","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b639cfd8-ad95-4951-b435-f4067333d6e2","requestID":"0eadd04d68c6473fec38d636478f9342"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.293866,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0eadd04d68c6473fec38d636478f9342","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222276,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Nn0.k82j5CdNtastFPyC3okdrx0bjO2Bwip63woqBwF7Y84"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0eadd04d68c6473fec38d636478f9342","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b639cfd8-ad95-4951-b435-f4067333d6e2","requestID":"0eadd04d68c6473fec38d636478f9342"} gateway-1 | {"time_local":"24/Sep/2024:23:57:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b639cfd8-ad95-4951-b435-f4067333d6e2 HTTP/1.1","status": "200","body_bytes_sent":"1289","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0eadd04d68c6473fec38d636478f9342"} experiment-1 | {"level":"info","message":"GET /experiments/b639cfd8-ad95-4951-b435-f4067333d6e2 200 16ms","method":"GET","requestID":"0eadd04d68c6473fec38d636478f9342","responseTime":16,"status":200,"url":"/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Nn0.k82j5CdNtastFPyC3okdrx0bjO2Bwip63woqBwF7Y84","level":"info","message":"auth send jwt","requestID":"f017f67bdbf093ff308fd97edd10db67"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f017f67bdbf093ff308fd97edd10db67","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b639cfd8-ad95-4951-b435-f4067333d6e2","requestID":"f017f67bdbf093ff308fd97edd10db67"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.21366,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f017f67bdbf093ff308fd97edd10db67","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222276,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Nn0.k82j5CdNtastFPyC3okdrx0bjO2Bwip63woqBwF7Y84"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f017f67bdbf093ff308fd97edd10db67","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Attempting to finish experiment","requestID":"f017f67bdbf093ff308fd97edd10db67"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d22aa0d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.278939,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d22aa0d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222276,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3Nn0.k82j5CdNtastFPyC3okdrx0bjO2Bwip63woqBwF7Y84"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d22aa0d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","device":"c63d4076-5894-4ce2-a0e0-64e5438589b8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"193468b4-57c3-4708-b21d-51259b77c50d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"193468b4-57c3-4708-b21d-51259b77c50d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"193468b4-57c3-4708-b21d-51259b77c50d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F927c3f01-7dbb-4c5b-8572-6e7bb0ebd824': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"e03058f0-e08c-4925-93b3-8497d674671f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222276.9826808} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3f9756cfa24bafe6fccf6022fa0a5c8f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"199992b0-a56c-4fde-8250-c4c0ec406d26","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222276.9831262} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3f9756cfa24bafe6fccf6022fa0a5c8f","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"d22aa0d0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"14dbf9772d2dc5f65820e734a21faf95","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"14dbf9772d2dc5f65820e734a21faf95","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824"}}},"level":"info","message":"received a callback","requestID":"3f9756cfa24bafe6fccf6022fa0a5c8f"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824"}}},"level":"info","message":"received a callback","requestID":"14dbf9772d2dc5f65820e734a21faf95"} device-1 | {"data":{"peerconnection":"927c3f01-7dbb-4c5b-8572-6e7bb0ebd824","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d22aa0d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824 204 52ms","method":"DELETE","requestID":"d22aa0d0-7ad0-11ef-9247-9909de679d1e","responseTime":52,"status":204,"url":"/peerconnections/927c3f01-7dbb-4c5b-8572-6e7bb0ebd824"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"},"level":"info","message":"Successfully finished experiment","requestID":"f017f67bdbf093ff308fd97edd10db67"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d235eb70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc63d4076-5894-4ce2-a0e0-64e5438589b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"11a9eaad-1b48-4dab-8957-df4ef0a76dae","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.038084} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.012134,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d235eb70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8","object_type":"device","rebac_allow":false,"scope_allow":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":"d235eb70-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d235eb70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb639cfd8-ad95-4951-b435-f4067333d6e2': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb639cfd8-ad95-4951-b435-f4067333d6e2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"f9a393c6-4a1b-41f3-9ff0-6267bbbba82e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.0454285} device-1 | {"level":"info","message":"POST /devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/signaling 200 14ms","method":"POST","requestID":"d235eb70-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8/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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"287de221-9e2d-4569-9d37-d0e05f1741ef","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.0459962} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"f017f67bdbf093ff308fd97edd10db67","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2388380-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193468b4-57c3-4708-b21d-51259b77c50d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed274792-3a58-4fbb-a8bb-861d20357c3c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.0550969} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.14517,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2388380-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/193468b4-57c3-4708-b21d-51259b77c50d","object_type":"device","rebac_allow":false,"scope_allow":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":"d2388380-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2388380-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/193468b4-57c3-4708-b21d-51259b77c50d/signaling 200 13ms","method":"POST","requestID":"d2388380-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/193468b4-57c3-4708-b21d-51259b77c50d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b639cfd8-ad95-4951-b435-f4067333d6e2","requestID":"f017f67bdbf093ff308fd97edd10db67"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b639cfd8-ad95-4951-b435-f4067333d6e2 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":"f017f67bdbf093ff308fd97edd10db67"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2898","request_time":"4.269","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"c7f27dd86f5329566aeefdffac3f2d18"} experiment-1 | {"level":"info","message":"DELETE /experiments/b639cfd8-ad95-4951-b435-f4067333d6e2 204 177ms","method":"DELETE","requestID":"f017f67bdbf093ff308fd97edd10db67","responseTime":177,"status":204,"url":"/experiments/b639cfd8-ad95-4951-b435-f4067333d6e2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc","level":"info","message":"auth send jwt","requestID":"5fd37e53451ab0cda0ce832aed1cf838"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5fd37e53451ab0cda0ce832aed1cf838","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"3f9756cfa24bafe6fccf6022fa0a5c8f","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"3f9756cfa24bafe6fccf6022fa0a5c8f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"14dbf9772d2dc5f65820e734a21faf95","responseTime":135,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"5fd37e53451ab0cda0ce832aed1cf838"} gateway-1 | {"time_local":"24/Sep/2024:23:57: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"14dbf9772d2dc5f65820e734a21faf95"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3092","request_time":"2.771","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5b0f727e5f7d7dbc9b85b89b595af717"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.062447,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5fd37e53451ab0cda0ce832aed1cf838","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5fd37e53451ab0cda0ce832aed1cf838","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/193468b4-57c3-4708-b21d-51259b77c50d' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c63d4076-5894-4ce2-a0e0-64e5438589b8' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fb65dcba-9526-473e-ad22-a63756ba5db5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.1466196} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5fd37e53451ab0cda0ce832aed1cf838","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68ffd777-acda-4eeb-a0e4-99488cdd21cc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.1509573} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5fd37e53451ab0cda0ce832aed1cf838","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"26106d05-b5b9-4f7a-9633-2ba05b4888e9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.1598456} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df6f4002-9a55-45c8-98df-f5f19c062781","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.1600704} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"5fd37e53451ab0cda0ce832aed1cf838","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.159786257Z"}]},"request_id":"ed5edb97-1e67-4cce-9b78-ac9321cdb9e1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.1673741} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5fd37e53451ab0cda0ce832aed1cf838","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5fd37e53451ab0cda0ce832aed1cf838"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"5fd37e53451ab0cda0ce832aed1cf838","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5fd37e53451ab0cda0ce832aed1cf838"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc","level":"info","message":"auth send jwt","requestID":"295376696403a43fee5d667710cfe3b0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"295376696403a43fee5d667710cfe3b0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"295376696403a43fee5d667710cfe3b0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.630538,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"295376696403a43fee5d667710cfe3b0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"295376696403a43fee5d667710cfe3b0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"499a39b7-0500-4353-a28b-9fdcadf2f659","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.1982522} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"295376696403a43fee5d667710cfe3b0","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41d8c5a0-7520-4c14-ab36-68facc5452dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.202877} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"295376696403a43fee5d667710cfe3b0","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"73dd77b2-f39d-4c26-a388-68f2f5482f61","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.212978} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6bedc718-2c3b-4006-8b21-6d4b4649a747","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.2131755} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"295376696403a43fee5d667710cfe3b0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.212945635Z"}]},"request_id":"2f5ae2e4-a3c8-4159-9f9d-745980b37090","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.2175186} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"295376696403a43fee5d667710cfe3b0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"295376696403a43fee5d667710cfe3b0"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"295376696403a43fee5d667710cfe3b0","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"295376696403a43fee5d667710cfe3b0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc","level":"info","message":"auth send jwt","requestID":"6aed35dcbf94e31d06323d73f0d12a7c"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6aed35dcbf94e31d06323d73f0d12a7c","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc","level":"info","message":"auth send jwt","requestID":"8f5413d398b029b2d6c43b19a9fe56c0"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8f5413d398b029b2d6c43b19a9fe56c0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6aed35dcbf94e31d06323d73f0d12a7c"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8f5413d398b029b2d6c43b19a9fe56c0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86763,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6aed35dcbf94e31d06323d73f0d12a7c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6aed35dcbf94e31d06323d73f0d12a7c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679103,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8f5413d398b029b2d6c43b19a9fe56c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8f5413d398b029b2d6c43b19a9fe56c0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.212945635Z"}]},"request_id":"4fcdb700-24fa-41e1-947d-96b9be14d256","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.6988487} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8f5413d398b029b2d6c43b19a9fe56c0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.159786257Z"}]},"request_id":"586ee20a-3867-474b-acbd-328625d316d6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.7001567} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6aed35dcbf94e31d06323d73f0d12a7c","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef8a70ec-f2e6-4da1-b0a8-dc26582fdaed","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.7042294} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8f5413d398b029b2d6c43b19a9fe56c0","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1dda8cfe-4339-4bc3-8d04-3d1168057a07","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.705869} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6aed35dcbf94e31d06323d73f0d12a7c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.159786257Z"}]},"request_id":"15fc3e7d-b0b0-4036-80d5-5f3580b20281","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.7105744} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6aed35dcbf94e31d06323d73f0d12a7c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6aed35dcbf94e31d06323d73f0d12a7c"} device-1 | {"level":"info","message":"PATCH /devices/5902b2f6-7add-49d8-a088-1d7464546446 200 25ms","method":"PATCH","requestID":"6aed35dcbf94e31d06323d73f0d12a7c","responseTime":25,"status":200,"url":"/devices/5902b2f6-7add-49d8-a088-1d7464546446"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5902b2f6-7add-49d8-a088-1d7464546446 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"6aed35dcbf94e31d06323d73f0d12a7c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc","level":"info","message":"auth send jwt","requestID":"f5921752c8098755d00632dbdd9b7483"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f5921752c8098755d00632dbdd9b7483","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f5921752c8098755d00632dbdd9b7483"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.212945635Z"}]},"request_id":"f6a1ddcd-e57f-41ca-9f7b-0851052a7deb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.7205632} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8f5413d398b029b2d6c43b19a9fe56c0","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.669525,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f5921752c8098755d00632dbdd9b7483","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8f5413d398b029b2d6c43b19a9fe56c0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f5921752c8098755d00632dbdd9b7483","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"8f5413d398b029b2d6c43b19a9fe56c0"} device-1 | {"level":"info","message":"PATCH /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb 200 34ms","method":"PATCH","requestID":"8f5413d398b029b2d6c43b19a9fe56c0","responseTime":34,"status":200,"url":"/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc","level":"info","message":"auth send jwt","requestID":"4c591330470360a130896b18e8f23cae"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4c591330470360a130896b18e8f23cae","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4c591330470360a130896b18e8f23cae"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.774039,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4c591330470360a130896b18e8f23cae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4c591330470360a130896b18e8f23cae","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f5921752c8098755d00632dbdd9b7483"} device-1 | {"level":"info","message":"POST /devices/5902b2f6-7add-49d8-a088-1d7464546446/websocket 200 16ms","method":"POST","requestID":"f5921752c8098755d00632dbdd9b7483","responseTime":16,"status":200,"url":"/devices/5902b2f6-7add-49d8-a088-1d7464546446/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5902b2f6-7add-49d8-a088-1d7464546446/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"f5921752c8098755d00632dbdd9b7483"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4c591330470360a130896b18e8f23cae"} device-1 | {"level":"info","message":"POST /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/websocket 200 18ms","method":"POST","requestID":"4c591330470360a130896b18e8f23cae","responseTime":18,"status":200,"url":"/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"4c591330470360a130896b18e8f23cae"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc","level":"info","message":"auth send jwt","requestID":"caf00708508018316bc6a9e0b787ff32"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"caf00708508018316bc6a9e0b787ff32","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"caf00708508018316bc6a9e0b787ff32"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.954407,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"caf00708508018316bc6a9e0b787ff32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"caf00708508018316bc6a9e0b787ff32","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.159786257Z"}]},"request_id":"e940ed7a-7226-4609-9f18-7e8e121a5a14","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.778621} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"caf00708508018316bc6a9e0b787ff32","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"caf00708508018316bc6a9e0b787ff32"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5902b2f6-7add-49d8-a088-1d7464546446? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"caf00708508018316bc6a9e0b787ff32"} device-1 | {"level":"info","message":"GET /devices/5902b2f6-7add-49d8-a088-1d7464546446? 200 11ms","method":"GET","requestID":"caf00708508018316bc6a9e0b787ff32","responseTime":11,"status":200,"url":"/devices/5902b2f6-7add-49d8-a088-1d7464546446?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc","level":"info","message":"auth send jwt","requestID":"f48cc9ce34dcf3a8a9f394f9face7a85"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f48cc9ce34dcf3a8a9f394f9face7a85","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f48cc9ce34dcf3a8a9f394f9face7a85"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919283,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f48cc9ce34dcf3a8a9f394f9face7a85","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f48cc9ce34dcf3a8a9f394f9face7a85","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.212945635Z"}]},"request_id":"c20eda92-f670-4517-a0af-d33f2e7c5e2f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.7942507} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f48cc9ce34dcf3a8a9f394f9face7a85","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f48cc9ce34dcf3a8a9f394f9face7a85"} device-1 | {"level":"info","message":"GET /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb? 200 10ms","method":"GET","requestID":"f48cc9ce34dcf3a8a9f394f9face7a85","responseTime":10,"status":200,"url":"/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb?"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f48cc9ce34dcf3a8a9f394f9face7a85"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc","level":"info","message":"auth send jwt","requestID":"664df2c90653d62398caed88f81773ca"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"664df2c90653d62398caed88f81773ca","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"664df2c90653d62398caed88f81773ca"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.673245,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"664df2c90653d62398caed88f81773ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"664df2c90653d62398caed88f81773ca","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Attempting to run experiment","requestID":"664df2c90653d62398caed88f81773ca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Attempting to book experiment","requestID":"664df2c90653d62398caed88f81773ca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Successfully booked experiment","requestID":"664df2c90653d62398caed88f81773ca"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2b04b90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2b072a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.640461,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2b04b90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2b04b90-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.589527,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2b072a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2b072a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.159786257Z"}]},"request_id":"a34e72c6-9d10-4ca5-93f1-09d175ed4dfc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.8401675} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d2b04b90-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.212945635Z"}]},"request_id":"11ee07d6-b2b4-4010-81ed-1e5457875e87","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.8406835} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d2b072a0-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2b04b90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/5902b2f6-7add-49d8-a088-1d7464546446? 200 11ms","method":"GET","requestID":"d2b04b90-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/5902b2f6-7add-49d8-a088-1d7464546446?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2b072a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb? 200 13ms","method":"GET","requestID":"d2b072a0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Setting up experiment","requestID":"664df2c90653d62398caed88f81773ca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"664df2c90653d62398caed88f81773ca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Successfully locked booking for experiment","requestID":"664df2c90653d62398caed88f81773ca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"664df2c90653d62398caed88f81773ca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"664df2c90653d62398caed88f81773ca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Attempting to update booking for experiment","requestID":"664df2c90653d62398caed88f81773ca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Successfully updated booking for experiment","requestID":"664df2c90653d62398caed88f81773ca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Successfully set up experiment","requestID":"664df2c90653d62398caed88f81773ca"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2b77780-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2b7c5a0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Successfully running experiment","requestID":"664df2c90653d62398caed88f81773ca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2b7ecb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.155786,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695605,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2b77780-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d2b77780-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2b7c5a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d2b7c5a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.159786257Z"}]},"request_id":"74b5b586-bde5-4943-b103-dc8670719501","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.8905442} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d2b77780-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.212945635Z"}]},"request_id":"3bddc675-63e5-4d49-ae34-d6371be24503","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.8915994} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d2b7c5a0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50066","level":"info","msg":"Received request.","req_id":1330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad261462-2fc8-4504-95f8-e98d0cda3889","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.8957367} authorization-1 | {"client_addr":"127.0.0.1:50066","level":"info","msg":"Sent response.","req_id":1330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.686569,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2b7ecb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","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 succeeded","requestID":"d2b77780-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"d2b7ecb0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/5902b2f6-7add-49d8-a088-1d7464546446? 200 18ms","method":"GET","requestID":"d2b77780-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/5902b2f6-7add-49d8-a088-1d7464546446?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2b7c5a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb? 200 17ms","method":"GET","requestID":"d2b7c5a0-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F04b6bc5e-0f9e-4fff-a585-df76817bb2ba#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F04b6bc5e-0f9e-4fff-a585-df76817bb2ba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"eb2cf571-a1f4-43ed-ade5-972829573d50","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.9010646} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2baabd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a8980ad-31f6-475a-b1d9-1bf35038e0eb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.9013112} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"664df2c90653d62398caed88f81773ca","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2b7ecb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/5902b2f6-7add-49d8-a088-1d7464546446/signaling 200 21ms","method":"POST","requestID":"d2b7ecb0-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/5902b2f6-7add-49d8-a088-1d7464546446/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2bb9630-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e04136c-9b21-47d9-b2f6-2563e72b8f81","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.9074235} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.556947,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2baabd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","object_type":"device","rebac_allow":false,"scope_allow":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":"d2baabd0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"664df2c90653d62398caed88f81773ca"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1220","request_time":"0.112","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"664df2c90653d62398caed88f81773ca"} experiment-1 | {"level":"info","message":"POST /experiments? 201 108ms","method":"POST","requestID":"664df2c90653d62398caed88f81773ca","responseTime":108,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2baabd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/5902b2f6-7add-49d8-a088-1d7464546446/signaling 200 11ms","method":"POST","requestID":"d2baabd0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/5902b2f6-7add-49d8-a088-1d7464546446/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"952bfb22-9f93-4246-bba7-1178fdbd904a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.912748} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.465462,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2bb9630-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc","level":"info","message":"auth send jwt","requestID":"f3ba62dcdb77dd7725a0e6767fec666a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2bca7a0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f3ba62dcdb77dd7725a0e6767fec666a","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d2bb9630-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f3ba62dcdb77dd7725a0e6767fec666a"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81886a92-154c-4853-abf8-b03dada37e02","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.918612} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.504964,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2bb9630-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} device-1 | {"level":"info","message":"POST /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/signaling 200 13ms","method":"POST","requestID":"d2bb9630-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2bca7a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","object_type":"device","rebac_allow":false,"scope_allow":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":"d2bca7a0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893487,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f3ba62dcdb77dd7725a0e6767fec666a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f3ba62dcdb77dd7725a0e6767fec666a","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2bca7a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.159786257Z"}]},"request_id":"2dd1501c-e7f5-48b3-8a9a-3a6a83e6e9dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.9254544} device-1 | {"level":"info","message":"POST /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/signaling 200 11ms","method":"POST","requestID":"d2bca7a0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f3ba62dcdb77dd7725a0e6767fec666a","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"664df2c90653d62398caed88f81773ca"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2beca80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2bef190-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.766354,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f3ba62dcdb77dd7725a0e6767fec666a"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2beca80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5902b2f6-7add-49d8-a088-1d7464546446? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3ba62dcdb77dd7725a0e6767fec666a"} device-1 | {"level":"info","message":"GET /devices/5902b2f6-7add-49d8-a088-1d7464546446? 200 15ms","method":"GET","requestID":"f3ba62dcdb77dd7725a0e6767fec666a","responseTime":15,"status":200,"url":"/devices/5902b2f6-7add-49d8-a088-1d7464546446?"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2beca80-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667003,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2bef190-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d2bef190-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc","level":"info","message":"auth send jwt","requestID":"dd6c991a6e1ff6ec59bbbf3a39f42574"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.159786257Z"}]},"request_id":"a3cbd55e-2c4b-4de6-b1b0-48c8344aff66","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.9365172} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dd6c991a6e1ff6ec59bbbf3a39f42574","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d2beca80-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.212945635Z"}]},"request_id":"a6991350-ed9a-4270-b7be-56e4a2ecd4b2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.9377198} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dd6c991a6e1ff6ec59bbbf3a39f42574"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d2bef190-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891608,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dd6c991a6e1ff6ec59bbbf3a39f42574","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dd6c991a6e1ff6ec59bbbf3a39f42574","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2beca80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/5902b2f6-7add-49d8-a088-1d7464546446? 200 16ms","method":"GET","requestID":"d2beca80-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/5902b2f6-7add-49d8-a088-1d7464546446?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2bef190-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb? 200 16ms","method":"GET","requestID":"d2bef190-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:57:57.212945635Z"}]},"request_id":"60c34229-7254-4dbc-a857-cc4628987606","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.94533} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Building connection plan","requestID":"664df2c90653d62398caed88f81773ca"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dd6c991a6e1ff6ec59bbbf3a39f42574","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"41e9fe33-05ff-4cb9-8f2c-8f1616340283"},{"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":"24c22271-774f-4406-94ea-bd0418fd2de7"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"0d9dd635-a877-4099-9916-62df9058ca57"}]},"level":"info","message":"Built pairwise service configurations","requestID":"664df2c90653d62398caed88f81773ca"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"664df2c90653d62398caed88f81773ca"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d2c1b0b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dd6c991a6e1ff6ec59bbbf3a39f42574"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:57Z"} gateway-1 | {"time_local":"24/Sep/2024:23:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd6c991a6e1ff6ec59bbbf3a39f42574"} device-1 | {"level":"info","message":"GET /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb? 200 12ms","method":"GET","requestID":"dd6c991a6e1ff6ec59bbbf3a39f42574","responseTime":12,"status":200,"url":"/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.823084,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2c1b0b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222277,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI3N30.rGC7Ut_C2x5ZymE_cULgdSvxiVqbfHdlHs0EMnia4wc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2c1b0b0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"4a9387d8-d7a2-4ace-b72a-acb9bddf89a2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.9579954} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5166c5b-87ff-4175-b5bf-7f61e2bd2eb4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222277.9582787} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d2c1b0b0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d2c1b0b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d2c1b0b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392'","requestID":"d2c1b0b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392'","requestID":"d2c1b0b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d2c1b0b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"d2c1b0b0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d2c1b0b0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"664df2c90653d62398caed88f81773ca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2c978e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:58Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffbfcc24-9cd1-4ba4-9fed-942d6b29b757","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222278.0029066} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.213815,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2c978e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","object_type":"device","rebac_allow":false,"scope_allow":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":"d2c978e0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2c978e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/5902b2f6-7add-49d8-a088-1d7464546446/signaling 200 9ms","method":"POST","requestID":"d2c978e0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/5902b2f6-7add-49d8-a088-1d7464546446/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2cb2690-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:57:58Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07124643-5d1c-4c77-923b-52299cb6199b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222278.0129707} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.340983,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:57:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d2cb2690-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","object_type":"device","rebac_allow":false,"scope_allow":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":"d2cb2690-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2cb2690-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/signaling 200 8ms","method":"POST","requestID":"d2cb2690-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/signaling"} device-1 | {"device":"5902b2f6-7add-49d8-a088-1d7464546446","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"c45bdeb3-e3ab-41f9-b024-18725a472392","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2f93defb-7acb-4b9e-b7f9-40c25eed0deb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"c45bdeb3-e3ab-41f9-b024-18725a472392","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2f93defb-7acb-4b9e-b7f9-40c25eed0deb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f93defb-7acb-4b9e-b7f9-40c25eed0deb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f93defb-7acb-4b9e-b7f9-40c25eed0deb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f93defb-7acb-4b9e-b7f9-40c25eed0deb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/c45bdeb3-e3ab-41f9-b024-18725a472392' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c45bdeb3-e3ab-41f9-b024-18725a472392","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e416d5d3e1cf2af14e0ee729e9477aca","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e416d5d3e1cf2af14e0ee729e9477aca","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392"}}},"level":"info","message":"received a callback","requestID":"e416d5d3e1cf2af14e0ee729e9477aca"} device-1 | {"device":"5902b2f6-7add-49d8-a088-1d7464546446","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5902b2f6-7add-49d8-a088-1d7464546446","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5902b2f6-7add-49d8-a088-1d7464546446","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.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 11ms","method":"POST","requestID":"e416d5d3e1cf2af14e0ee729e9477aca","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"e416d5d3e1cf2af14e0ee729e9477aca"} device-1 | {"device":"2f93defb-7acb-4b9e-b7f9-40c25eed0deb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"c45bdeb3-e3ab-41f9-b024-18725a472392","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5902b2f6-7add-49d8-a088-1d7464546446","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f93defb-7acb-4b9e-b7f9-40c25eed0deb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5902b2f6-7add-49d8-a088-1d7464546446","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"c45bdeb3-e3ab-41f9-b024-18725a472392","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/c45bdeb3-e3ab-41f9-b024-18725a472392' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c45bdeb3-e3ab-41f9-b024-18725a472392","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cbc27a023ecada0701957228cf0e6f7a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"cbc27a023ecada0701957228cf0e6f7a","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392"}}},"level":"info","message":"received a callback","requestID":"cbc27a023ecada0701957228cf0e6f7a"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d40a5d50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc45bdeb3-e3ab-41f9-b024-18725a472392","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f06008a5-aa4f-45ba-ad4d-4cc521f1bc1d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.1076312} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.730674,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d40a5d50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392","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":"d40a5d50-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d40a5d50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392 200 13ms","method":"GET","requestID":"d40a5d50-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"cbc27a023ecada0701957228cf0e6f7a","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"cbc27a023ecada0701957228cf0e6f7a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4109ee0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1406d2b1-a8cc-444b-875a-f72d1d89b442","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.149253} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.021241,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4109ee0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","object_type":"device","rebac_allow":false,"scope_allow":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":"d4109ee0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4109ee0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/signaling 200 14ms","method":"POST","requestID":"d4109ee0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d41336f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cceadab0-6e15-4954-89ae-b30df486fa89","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.1674185} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.352036,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d41336f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","object_type":"device","rebac_allow":false,"scope_allow":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":"d41336f0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d41336f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/5902b2f6-7add-49d8-a088-1d7464546446/signaling 200 15ms","method":"POST","requestID":"d41336f0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/5902b2f6-7add-49d8-a088-1d7464546446/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8","level":"info","message":"auth send jwt","requestID":"9a0e9aef27bd69f12d61660234355eb4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9a0e9aef27bd69f12d61660234355eb4","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba","requestID":"9a0e9aef27bd69f12d61660234355eb4"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.236146,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9a0e9aef27bd69f12d61660234355eb4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222280,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9a0e9aef27bd69f12d61660234355eb4","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba","requestID":"9a0e9aef27bd69f12d61660234355eb4"} gateway-1 | {"time_local":"24/Sep/2024:23:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba HTTP/1.1","status": "200","body_bytes_sent":"1293","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a0e9aef27bd69f12d61660234355eb4"} experiment-1 | {"level":"info","message":"GET /experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba 200 16ms","method":"GET","requestID":"9a0e9aef27bd69f12d61660234355eb4","responseTime":16,"status":200,"url":"/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8","level":"info","message":"auth send jwt","requestID":"5584dad7b833326cf3bd9a6a64865706"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5584dad7b833326cf3bd9a6a64865706","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba","requestID":"5584dad7b833326cf3bd9a6a64865706"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.350623,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5584dad7b833326cf3bd9a6a64865706","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222280,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5584dad7b833326cf3bd9a6a64865706","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Attempting to finish experiment","requestID":"5584dad7b833326cf3bd9a6a64865706"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d41e3370-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.418444,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d41e3370-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222280,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d41e3370-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"5902b2f6-7add-49d8-a088-1d7464546446","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5902b2f6-7add-49d8-a088-1d7464546446","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5902b2f6-7add-49d8-a088-1d7464546446","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f93defb-7acb-4b9e-b7f9-40c25eed0deb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f93defb-7acb-4b9e-b7f9-40c25eed0deb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f93defb-7acb-4b9e-b7f9-40c25eed0deb","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/c45bdeb3-e3ab-41f9-b024-18725a472392' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c45bdeb3-e3ab-41f9-b024-18725a472392","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc45bdeb3-e3ab-41f9-b024-18725a472392': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc45bdeb3-e3ab-41f9-b024-18725a472392","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"49b9e9b5-130d-4704-bbd8-7c08b315276e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.2579904} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"915a0c44-2449-46f5-a232-e4653314fc48","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.258451} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"35721cf4135dc3af8837d0a5866557d9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 13ms","method":"POST","requestID":"d41e3370-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"35721cf4135dc3af8837d0a5866557d9","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c4720379b4c7e13e79df9df7ad3d7e64","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392"}}},"level":"info","message":"received a callback","requestID":"35721cf4135dc3af8837d0a5866557d9"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c4720379b4c7e13e79df9df7ad3d7e64","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392"}}},"level":"info","message":"received a callback","requestID":"c4720379b4c7e13e79df9df7ad3d7e64"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d41e3370-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392 204 44ms","method":"DELETE","requestID":"d41e3370-7ad0-11ef-9247-9909de679d1e","responseTime":44,"status":204,"url":"/peerconnections/c45bdeb3-e3ab-41f9-b024-18725a472392"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"},"level":"info","message":"Successfully finished experiment","requestID":"5584dad7b833326cf3bd9a6a64865706"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4286ca0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f93defb-7acb-4b9e-b7f9-40c25eed0deb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90697a33-03b4-4a6f-9f8d-3bd83957ac82","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.3052137} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.972974,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4286ca0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb","object_type":"device","rebac_allow":false,"scope_allow":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":"d4286ca0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4286ca0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/signaling 200 15ms","method":"POST","requestID":"d4286ca0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/2f93defb-7acb-4b9e-b7f9-40c25eed0deb/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F04b6bc5e-0f9e-4fff-a585-df76817bb2ba': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F04b6bc5e-0f9e-4fff-a585-df76817bb2ba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"2e59ee37-868e-430b-bf0c-ed7a473088f8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.314933} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b498ac9-678f-4814-92e0-1ec6ca3b2019","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.3151877} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d42b04b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"5584dad7b833326cf3bd9a6a64865706","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5902b2f6-7add-49d8-a088-1d7464546446","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50434e6f-901e-49c3-ad37-e123c8671b12","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.3212178} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.20547,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d42b04b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5902b2f6-7add-49d8-a088-1d7464546446","object_type":"device","rebac_allow":false,"scope_allow":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":"d42b04b0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d42b04b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/5902b2f6-7add-49d8-a088-1d7464546446/signaling 200 12ms","method":"POST","requestID":"d42b04b0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/5902b2f6-7add-49d8-a088-1d7464546446/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba","requestID":"5584dad7b833326cf3bd9a6a64865706"} gateway-1 | {"time_local":"24/Sep/2024:23:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5584dad7b833326cf3bd9a6a64865706"} gateway-1 | {"time_local":"24/Sep/2024:23:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3092","request_time":"2.636","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"45182615e92110407bd9075c7a7fcfc2"} gateway-1 | {"time_local":"24/Sep/2024:23:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3094","request_time":"2.646","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"c82ab65db2cfcc33b78e4321fe2dd246"} experiment-1 | {"level":"info","message":"DELETE /experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba 204 170ms","method":"DELETE","requestID":"5584dad7b833326cf3bd9a6a64865706","responseTime":170,"status":204,"url":"/experiments/04b6bc5e-0f9e-4fff-a585-df76817bb2ba"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"35721cf4135dc3af8837d0a5866557d9","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"35721cf4135dc3af8837d0a5866557d9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"c4720379b4c7e13e79df9df7ad3d7e64","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"c4720379b4c7e13e79df9df7ad3d7e64"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8","level":"info","message":"auth send jwt","requestID":"e97ba3e60087ef9609441ce0fe977b24"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e97ba3e60087ef9609441ce0fe977b24","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/5902b2f6-7add-49d8-a088-1d7464546446' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"e97ba3e60087ef9609441ce0fe977b24"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.197302,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e97ba3e60087ef9609441ce0fe977b24","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222280,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e97ba3e60087ef9609441ce0fe977b24","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/2f93defb-7acb-4b9e-b7f9-40c25eed0deb' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eea7340e-03fe-4512-8f83-f2588b06ffba","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.4224494} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e97ba3e60087ef9609441ce0fe977b24","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7c1a6b8-bf43-4284-8123-c9213945e87a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.4301322} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e97ba3e60087ef9609441ce0fe977b24","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"b598ec45-d542-467b-80b9-67fdbd9f57df","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.442301} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38326b08-a7cb-4f0e-a795-ee74a75481da","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.44261} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"e97ba3e60087ef9609441ce0fe977b24","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.442252126Z"}]},"request_id":"8775f9ee-1eac-4f7e-bdf0-5faf6047cc1c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.4476209} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e97ba3e60087ef9609441ce0fe977b24","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e97ba3e60087ef9609441ce0fe977b24"} gateway-1 | {"time_local":"24/Sep/2024:23:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e97ba3e60087ef9609441ce0fe977b24"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"e97ba3e60087ef9609441ce0fe977b24","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8","level":"info","message":"auth send jwt","requestID":"5c137f195c1aec009ec7bc876e80ef0d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5c137f195c1aec009ec7bc876e80ef0d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5c137f195c1aec009ec7bc876e80ef0d"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.956233,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5c137f195c1aec009ec7bc876e80ef0d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222280,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5c137f195c1aec009ec7bc876e80ef0d","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d73aa009-d7a1-4593-ad22-8264498020f3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.4753664} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5c137f195c1aec009ec7bc876e80ef0d","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07e4fc85-585d-48a7-9904-8b6ec227e026","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.4808881} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5c137f195c1aec009ec7bc876e80ef0d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"c0aff138-5bca-4b4e-a8fe-e223433b3644","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.4970376} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea311fba-13ce-43c2-9d81-02d1cf5f5c25","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.4971337} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"5c137f195c1aec009ec7bc876e80ef0d","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.496992483Z"}]},"request_id":"67d093c8-d104-4733-9168-ae3309d9b10e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.5021353} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5c137f195c1aec009ec7bc876e80ef0d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5c137f195c1aec009ec7bc876e80ef0d"} gateway-1 | {"time_local":"24/Sep/2024:23:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c137f195c1aec009ec7bc876e80ef0d"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"5c137f195c1aec009ec7bc876e80ef0d","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8","level":"info","message":"auth send jwt","requestID":"51ec399b9c0aacef1cc19efa175df085"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"51ec399b9c0aacef1cc19efa175df085","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8","level":"info","message":"auth send jwt","requestID":"3713c84f10a0bd51774c4af6ed20f0fb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3713c84f10a0bd51774c4af6ed20f0fb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"51ec399b9c0aacef1cc19efa175df085"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"3713c84f10a0bd51774c4af6ed20f0fb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.080908,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"51ec399b9c0aacef1cc19efa175df085","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222280,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"51ec399b9c0aacef1cc19efa175df085","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.130548,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3713c84f10a0bd51774c4af6ed20f0fb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222280,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3713c84f10a0bd51774c4af6ed20f0fb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.442252126Z"}]},"request_id":"bcfb8383-ed6c-437c-980c-0c2a2b9507b6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.981793} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"51ec399b9c0aacef1cc19efa175df085","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.496992483Z"}]},"request_id":"d739bac5-055f-48ba-8200-ad737418e549","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.9825256} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3713c84f10a0bd51774c4af6ed20f0fb","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6487438c-9a06-4ecc-a073-a19b43e2fcbd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.987923} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"51ec399b9c0aacef1cc19efa175df085","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ed5ca1d-63cf-471d-a181-e02228331e98","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.9902518} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3713c84f10a0bd51774c4af6ed20f0fb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.496992483Z"}]},"request_id":"812402a6-00a7-42a9-bf91-6400cbce09a6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222280.9937508} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3713c84f10a0bd51774c4af6ed20f0fb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"3713c84f10a0bd51774c4af6ed20f0fb"} gateway-1 | {"time_local":"24/Sep/2024:23:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/70a908c3-e848-442a-8c45-66325810083a HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"3713c84f10a0bd51774c4af6ed20f0fb"} device-1 | {"level":"info","message":"PATCH /devices/70a908c3-e848-442a-8c45-66325810083a 200 27ms","method":"PATCH","requestID":"3713c84f10a0bd51774c4af6ed20f0fb","responseTime":27,"status":200,"url":"/devices/70a908c3-e848-442a-8c45-66325810083a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8","level":"info","message":"auth send jwt","requestID":"9f96951635764007bf7bdfb9af654ace"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9f96951635764007bf7bdfb9af654ace","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9f96951635764007bf7bdfb9af654ace"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.94009,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9f96951635764007bf7bdfb9af654ace","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222280,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MH0.TBP253wbXx1pcwQ5osAB-slauNMYJTal656IvY7tfp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9f96951635764007bf7bdfb9af654ace","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.442252126Z"}]},"request_id":"58452249-420d-43f2-ad5c-9b513d1ad12f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.005585} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"51ec399b9c0aacef1cc19efa175df085","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"51ec399b9c0aacef1cc19efa175df085"} gateway-1 | {"time_local":"24/Sep/2024:23:58:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1 HTTP/1.1","status": "200","body_bytes_sent":"1331","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"51ec399b9c0aacef1cc19efa175df085"} device-1 | {"level":"info","message":"PATCH /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1 200 42ms","method":"PATCH","requestID":"51ec399b9c0aacef1cc19efa175df085","responseTime":42,"status":200,"url":"/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY","level":"info","message":"auth send jwt","requestID":"88cfa07f55c1507097b2fe8927cb584e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"88cfa07f55c1507097b2fe8927cb584e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"88cfa07f55c1507097b2fe8927cb584e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.718648,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"88cfa07f55c1507097b2fe8927cb584e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"88cfa07f55c1507097b2fe8927cb584e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9f96951635764007bf7bdfb9af654ace"} gateway-1 | {"time_local":"24/Sep/2024:23:58:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/70a908c3-e848-442a-8c45-66325810083a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"9f96951635764007bf7bdfb9af654ace"} device-1 | {"level":"info","message":"POST /devices/70a908c3-e848-442a-8c45-66325810083a/websocket 200 18ms","method":"POST","requestID":"9f96951635764007bf7bdfb9af654ace","responseTime":18,"status":200,"url":"/devices/70a908c3-e848-442a-8c45-66325810083a/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"88cfa07f55c1507097b2fe8927cb584e"} device-1 | {"level":"info","message":"POST /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/websocket 200 15ms","method":"POST","requestID":"88cfa07f55c1507097b2fe8927cb584e","responseTime":15,"status":200,"url":"/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:58:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"88cfa07f55c1507097b2fe8927cb584e"} device-1 | {"level":"info","message":"device 'http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY","level":"info","message":"auth send jwt","requestID":"5e2d1a7cc346122d1c3ddfa20115f090"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5e2d1a7cc346122d1c3ddfa20115f090","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e2d1a7cc346122d1c3ddfa20115f090"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.946713,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5e2d1a7cc346122d1c3ddfa20115f090","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5e2d1a7cc346122d1c3ddfa20115f090","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.442252126Z"}]},"request_id":"0f5288c0-5f29-49a3-a9c3-711baf44d696","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.0619583} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5e2d1a7cc346122d1c3ddfa20115f090","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e2d1a7cc346122d1c3ddfa20115f090"} gateway-1 | {"time_local":"24/Sep/2024:23:58:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e2d1a7cc346122d1c3ddfa20115f090"} device-1 | {"level":"info","message":"GET /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1? 200 11ms","method":"GET","requestID":"5e2d1a7cc346122d1c3ddfa20115f090","responseTime":11,"status":200,"url":"/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY","level":"info","message":"auth send jwt","requestID":"27bae7c908c496d9375096d8c3ff28c3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"27bae7c908c496d9375096d8c3ff28c3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"27bae7c908c496d9375096d8c3ff28c3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.797281,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"27bae7c908c496d9375096d8c3ff28c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"27bae7c908c496d9375096d8c3ff28c3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.496992483Z"}]},"request_id":"3f62ff0c-0ece-47df-9010-e2bca9792252","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.0775988} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"27bae7c908c496d9375096d8c3ff28c3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"27bae7c908c496d9375096d8c3ff28c3"} gateway-1 | {"time_local":"24/Sep/2024:23:58:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/70a908c3-e848-442a-8c45-66325810083a? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27bae7c908c496d9375096d8c3ff28c3"} device-1 | {"level":"info","message":"GET /devices/70a908c3-e848-442a-8c45-66325810083a? 200 10ms","method":"GET","requestID":"27bae7c908c496d9375096d8c3ff28c3","responseTime":10,"status":200,"url":"/devices/70a908c3-e848-442a-8c45-66325810083a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY","level":"info","message":"auth send jwt","requestID":"37aab9b707a30dce86507244fe424115"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"37aab9b707a30dce86507244fe424115","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"37aab9b707a30dce86507244fe424115"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.388282,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"37aab9b707a30dce86507244fe424115","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"37aab9b707a30dce86507244fe424115","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Attempting to run experiment","requestID":"37aab9b707a30dce86507244fe424115"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Attempting to book experiment","requestID":"37aab9b707a30dce86507244fe424115"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Successfully booked experiment","requestID":"37aab9b707a30dce86507244fe424115"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d4a564d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d4a5b2f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.308955,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4a564d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d4a564d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862938,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4a5b2f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d4a5b2f0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.442252126Z"}]},"request_id":"eb088908-33cb-4811-9f01-baf5d3a6a57c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.1275616} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d4a564d0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.496992483Z"}]},"request_id":"c424ac16-8379-43c2-badb-e3649f096695","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.1286333} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d4a5b2f0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d4a564d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1? 200 18ms","method":"GET","requestID":"d4a564d0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d4a5b2f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/70a908c3-e848-442a-8c45-66325810083a? 200 18ms","method":"GET","requestID":"d4a5b2f0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/70a908c3-e848-442a-8c45-66325810083a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Setting up experiment","requestID":"37aab9b707a30dce86507244fe424115"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"37aab9b707a30dce86507244fe424115"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Successfully locked booking for experiment","requestID":"37aab9b707a30dce86507244fe424115"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"37aab9b707a30dce86507244fe424115"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"37aab9b707a30dce86507244fe424115"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Attempting to update booking for experiment","requestID":"37aab9b707a30dce86507244fe424115"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Successfully updated booking for experiment","requestID":"37aab9b707a30dce86507244fe424115"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Successfully set up experiment","requestID":"37aab9b707a30dce86507244fe424115"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d4b06150-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d4b0af70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Successfully running experiment","requestID":"37aab9b707a30dce86507244fe424115"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4b14bb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.262878,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4b06150-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d4b06150-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.393473,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4b0af70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d4b0af70-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.496992483Z"}]},"request_id":"aed57fee-d173-43e6-8de8-bfd6c0bb2560","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.2058785} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36b9e30a-539f-47b2-8d99-cc304d718a6d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.2060874} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d4b0af70-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.442252126Z"}]},"request_id":"8100bdc8-1bd5-4fe3-ba86-a45238d17c4b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.207604} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.318187,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4b14bb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","object_type":"device","rebac_allow":false,"scope_allow":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":"d4b14bb0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"d4b06150-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d4b0af70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/70a908c3-e848-442a-8c45-66325810083a? 200 27ms","method":"GET","requestID":"d4b0af70-7ad0-11ef-9247-9909de679d1e","responseTime":27,"status":200,"url":"/devices/70a908c3-e848-442a-8c45-66325810083a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4b14bb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/signaling 200 25ms","method":"POST","requestID":"d4b14bb0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":200,"url":"/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7eeb2c3-ab7e-45ba-b1c7-8173eed06201#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7eeb2c3-ab7e-45ba-b1c7-8173eed06201","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"2f61a380-ade9-4a29-9762-32779a6cbf6a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.219996} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d4b06150-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1? 200 32ms","method":"GET","requestID":"d4b06150-7ad0-11ef-9247-9909de679d1e","responseTime":32,"status":200,"url":"/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac7d07de-04f5-45ae-ba82-fe399e904b96","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.2204242} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"37aab9b707a30dce86507244fe424115","responseTime":24,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4b59170-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4b5df90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70c94e05-dddc-4afc-a2fc-8dd5a9424a55","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.2303746} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.830812,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"37aab9b707a30dce86507244fe424115"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4b59170-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"24/Sep/2024:23:58:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1220","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37aab9b707a30dce86507244fe424115"} experiment-1 | {"level":"info","message":"POST /experiments? 201 147ms","method":"POST","requestID":"37aab9b707a30dce86507244fe424115","responseTime":147,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"d4b59170-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbb6b1dc-8798-4e72-a8d8-1880d340a130","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.232263} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.655208,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4b5df90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","object_type":"device","rebac_allow":false,"scope_allow":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":"d4b5df90-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY","level":"info","message":"auth send jwt","requestID":"c35bcf14a91ea7dab74c9104edc15f75"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c35bcf14a91ea7dab74c9104edc15f75","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4b59170-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/70a908c3-e848-442a-8c45-66325810083a/signaling 200 17ms","method":"POST","requestID":"d4b59170-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/70a908c3-e848-442a-8c45-66325810083a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4b5df90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/signaling 200 16ms","method":"POST","requestID":"d4b5df90-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c35bcf14a91ea7dab74c9104edc15f75"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4b89eb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.57703,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c35bcf14a91ea7dab74c9104edc15f75","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c35bcf14a91ea7dab74c9104edc15f75","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa01ae2e-f76c-49c1-b9f4-5ed6be6f9570","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.2495842} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.384522,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4b89eb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","object_type":"device","rebac_allow":false,"scope_allow":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":"d4b89eb0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.442252126Z"}]},"request_id":"611218bf-e307-44f6-b097-4db00cd025ee","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.2524178} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c35bcf14a91ea7dab74c9104edc15f75","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4b89eb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/70a908c3-e848-442a-8c45-66325810083a/signaling 200 16ms","method":"POST","requestID":"d4b89eb0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/70a908c3-e848-442a-8c45-66325810083a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c35bcf14a91ea7dab74c9104edc15f75"} gateway-1 | {"time_local":"24/Sep/2024:23:58:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c35bcf14a91ea7dab74c9104edc15f75"} device-1 | {"level":"info","message":"GET /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1? 200 19ms","method":"GET","requestID":"c35bcf14a91ea7dab74c9104edc15f75","responseTime":19,"status":200,"url":"/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"37aab9b707a30dce86507244fe424115"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d4bb5dd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d4bbabf0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY","level":"info","message":"auth send jwt","requestID":"5ff73949b6ed958129e1ba5c551b9f81"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5ff73949b6ed958129e1ba5c551b9f81","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.299553,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4bb5dd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5ff73949b6ed958129e1ba5c551b9f81"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d4bb5dd0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Received request.","req_id":1368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50056","level":"info","msg":"Sent response.","req_id":1368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.178408,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4bbabf0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d4bbabf0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6792,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5ff73949b6ed958129e1ba5c551b9f81","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5ff73949b6ed958129e1ba5c551b9f81","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.442252126Z"}]},"request_id":"6f1da691-ef07-4d8d-afb6-c04bf3a929f3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.274832} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d4bb5dd0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.496992483Z"}]},"request_id":"56184742-f629-4fef-9d2c-38ae71e8d5c7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.2774348} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d4bbabf0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:00.496992483Z"}]},"request_id":"aa6848a2-573b-4334-a955-07643e497584","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.2796633} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5ff73949b6ed958129e1ba5c551b9f81","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d4bb5dd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1? 200 21ms","method":"GET","requestID":"d4bb5dd0-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d4bbabf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/70a908c3-e848-442a-8c45-66325810083a? 200 21ms","method":"GET","requestID":"d4bbabf0-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/70a908c3-e848-442a-8c45-66325810083a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5ff73949b6ed958129e1ba5c551b9f81"} gateway-1 | {"time_local":"24/Sep/2024:23:58:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/70a908c3-e848-442a-8c45-66325810083a? HTTP/1.1","status": "200","body_bytes_sent":"1330","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ff73949b6ed958129e1ba5c551b9f81"} device-1 | {"level":"info","message":"GET /devices/70a908c3-e848-442a-8c45-66325810083a? 200 16ms","method":"GET","requestID":"5ff73949b6ed958129e1ba5c551b9f81","responseTime":16,"status":200,"url":"/devices/70a908c3-e848-442a-8c45-66325810083a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Building connection plan","requestID":"37aab9b707a30dce86507244fe424115"} 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":"522eb2ea-6fcd-4640-8c72-3fd8aeab2a41"},{"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":"35bcb336-c159-4513-b4ef-238cebb3732e"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"25e6da9e-cf66-47cd-a85f-187da1cbaa60"}]},"level":"info","message":"Built pairwise service configurations","requestID":"37aab9b707a30dce86507244fe424115"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"37aab9b707a30dce86507244fe424115"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d4bf5570-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.658928,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4bf5570-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222281,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4MX0.RX62PeM5eCvHLdLm0j6tCTqlmk0KmY2hIWUS86ngqwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d4bf5570-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"d751a344-edec-4eda-be9e-b5e51f2bbbc6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.299885} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa111994-0e3d-4236-ad54-dae4ce818f08","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.3001378} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d4bf5570-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d4bf5570-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d4bf5570-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6'","requestID":"d4bf5570-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6'","requestID":"d4bf5570-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d4bf5570-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 24ms","method":"POST","requestID":"d4bf5570-7ad0-11ef-9247-9909de679d1e","responseTime":24,"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":"d4bf5570-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"37aab9b707a30dce86507244fe424115"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4c76bc0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e9c1389-ae08-4e3f-a256-27d64d61013c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.3453226} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.460466,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4c76bc0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d4c76bc0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4c76bc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/signaling 200 9ms","method":"POST","requestID":"d4c76bc0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4c91970-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"887cab24-0402-420f-b6a6-782d0af00243","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222281.3565722} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.078831,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d4c91970-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d4c91970-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4c91970-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/70a908c3-e848-442a-8c45-66325810083a/signaling 200 10ms","method":"POST","requestID":"d4c91970-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/70a908c3-e848-442a-8c45-66325810083a/signaling"} device-1 | {"device":"15ff01a2-2c68-44a7-bc2b-907407085cf1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"70a908c3-e848-442a-8c45-66325810083a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"70a908c3-e848-442a-8c45-66325810083a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70a908c3-e848-442a-8c45-66325810083a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70a908c3-e848-442a-8c45-66325810083a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70a908c3-e848-442a-8c45-66325810083a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e0e363aa57629e58f07064d0be1afe87","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e0e363aa57629e58f07064d0be1afe87","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6"}}},"level":"info","message":"received a callback","requestID":"e0e363aa57629e58f07064d0be1afe87"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"e0e363aa57629e58f07064d0be1afe87","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"e0e363aa57629e58f07064d0be1afe87"} device-1 | {"device":"15ff01a2-2c68-44a7-bc2b-907407085cf1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"15ff01a2-2c68-44a7-bc2b-907407085cf1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"15ff01a2-2c68-44a7-bc2b-907407085cf1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70a908c3-e848-442a-8c45-66325810083a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"15ff01a2-2c68-44a7-bc2b-907407085cf1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70a908c3-e848-442a-8c45-66325810083a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"15ff01a2-2c68-44a7-bc2b-907407085cf1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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":"9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","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/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9a1900bc72797591f14c4e5c968363b3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9a1900bc72797591f14c4e5c968363b3","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6"}}},"level":"info","message":"received a callback","requestID":"9a1900bc72797591f14c4e5c968363b3"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d60717b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f93771f-6296-439b-a05b-ed893a2353f4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.441539} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.747481,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d60717b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","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":"d60717b0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d60717b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6 200 12ms","method":"GET","requestID":"d60717b0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"9a1900bc72797591f14c4e5c968363b3","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a1900bc72797591f14c4e5c968363b3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d60d0b20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85e658cb-b2b7-4015-8fdd-aacbde824dd2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.4802482} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.56944,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d60d0b20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","object_type":"device","rebac_allow":false,"scope_allow":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":"d60d0b20-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d60d0b20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/70a908c3-e848-442a-8c45-66325810083a/signaling 200 12ms","method":"POST","requestID":"d60d0b20-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/70a908c3-e848-442a-8c45-66325810083a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d60f5510-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5966782b-48fa-4c8f-883a-2b8ef63b7e4d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.4967647} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.76426,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d60f5510-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","object_type":"device","rebac_allow":false,"scope_allow":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":"d60f5510-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d60f5510-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/signaling 200 15ms","method":"POST","requestID":"d60f5510-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4M30.6oKplaga7A3aNqtP59IjHgxtTA8xpgMbrjN2yXlw1sY","level":"info","message":"auth send jwt","requestID":"17197cdf48ef3ae37f0892874b7224eb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"17197cdf48ef3ae37f0892874b7224eb","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201","requestID":"17197cdf48ef3ae37f0892874b7224eb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.170884,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"17197cdf48ef3ae37f0892874b7224eb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222283,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4M30.6oKplaga7A3aNqtP59IjHgxtTA8xpgMbrjN2yXlw1sY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"17197cdf48ef3ae37f0892874b7224eb","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201","requestID":"17197cdf48ef3ae37f0892874b7224eb"} experiment-1 | {"level":"info","message":"GET /experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201 200 14ms","method":"GET","requestID":"17197cdf48ef3ae37f0892874b7224eb","responseTime":14,"status":200,"url":"/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"} gateway-1 | {"time_local":"24/Sep/2024:23:58:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201 HTTP/1.1","status": "200","body_bytes_sent":"1293","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17197cdf48ef3ae37f0892874b7224eb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4M30.6oKplaga7A3aNqtP59IjHgxtTA8xpgMbrjN2yXlw1sY","level":"info","message":"auth send jwt","requestID":"3ce63e1abd3f8f5f9e5727d633a54d7f"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"3ce63e1abd3f8f5f9e5727d633a54d7f","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201","requestID":"3ce63e1abd3f8f5f9e5727d633a54d7f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.694667,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3ce63e1abd3f8f5f9e5727d633a54d7f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222283,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4M30.6oKplaga7A3aNqtP59IjHgxtTA8xpgMbrjN2yXlw1sY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3ce63e1abd3f8f5f9e5727d633a54d7f","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Attempting to finish experiment","requestID":"3ce63e1abd3f8f5f9e5727d633a54d7f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d61a9fb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.292253,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d61a9fb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222283,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4M30.6oKplaga7A3aNqtP59IjHgxtTA8xpgMbrjN2yXlw1sY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d61a9fb0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"70a908c3-e848-442a-8c45-66325810083a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70a908c3-e848-442a-8c45-66325810083a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"70a908c3-e848-442a-8c45-66325810083a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"15ff01a2-2c68-44a7-bc2b-907407085cf1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"15ff01a2-2c68-44a7-bc2b-907407085cf1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"15ff01a2-2c68-44a7-bc2b-907407085cf1","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":48,"name":"crosslab.soa_client.connection_webrtc","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/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"2d9cdefd-5af5-4acb-9630-28591febe0fa","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.5856738} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c9835fd0-1a28-49a4-933d-74a0b27615dd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.5860662} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"d61a9fb0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b9427ecc9f28a072b5f8fd1912d4917b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b9427ecc9f28a072b5f8fd1912d4917b","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"42f7d34bcc2c74f4a34345c193ba86fd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6"}}},"level":"info","message":"received a callback","requestID":"b9427ecc9f28a072b5f8fd1912d4917b"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"42f7d34bcc2c74f4a34345c193ba86fd","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6"}}},"level":"info","message":"received a callback","requestID":"42f7d34bcc2c74f4a34345c193ba86fd"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d61a9fb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6 204 46ms","method":"DELETE","requestID":"d61a9fb0-7ad0-11ef-9247-9909de679d1e","responseTime":46,"status":204,"url":"/peerconnections/9800c272-8767-4bb0-b0d3-0a3e5f5fa5b6"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"},"level":"info","message":"Successfully finished experiment","requestID":"3ce63e1abd3f8f5f9e5727d633a54d7f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6252700-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F70a908c3-e848-442a-8c45-66325810083a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63160249-9023-4f19-83ef-f8bc471a0914","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.6394706} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.120263,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d6252700-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/70a908c3-e848-442a-8c45-66325810083a","object_type":"device","rebac_allow":false,"scope_allow":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":"d6252700-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7eeb2c3-ab7e-45ba-b1c7-8173eed06201': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7eeb2c3-ab7e-45ba-b1c7-8173eed06201","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"a33578d0-44ec-44cc-9078-af03c8e8c387","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.6462128} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6252700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/70a908c3-e848-442a-8c45-66325810083a/signaling 200 15ms","method":"POST","requestID":"d6252700-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/70a908c3-e848-442a-8c45-66325810083a/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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0dd3b0a-d0e2-46e7-a8b9-09f22bf589d8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.6468863} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"3ce63e1abd3f8f5f9e5727d633a54d7f","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6280d30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ff01a2-2c68-44a7-bc2b-907407085cf1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ea9339d-bcdf-43f8-87ad-02d2043910d9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.658622} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.036716,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d6280d30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1","object_type":"device","rebac_allow":false,"scope_allow":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":"d6280d30-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6280d30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/signaling 200 16ms","method":"POST","requestID":"d6280d30-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201","requestID":"3ce63e1abd3f8f5f9e5727d633a54d7f"} gateway-1 | {"time_local":"24/Sep/2024:23:58:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ce63e1abd3f8f5f9e5727d633a54d7f"} experiment-1 | {"level":"info","message":"DELETE /experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201 204 173ms","method":"DELETE","requestID":"3ce63e1abd3f8f5f9e5727d633a54d7f","responseTime":173,"status":204,"url":"/experiments/b7eeb2c3-ab7e-45ba-b1c7-8173eed06201"} gateway-1 | {"time_local":"24/Sep/2024:23:58:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3092","request_time":"2.699","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"7f74d6d218b7ede9ec7fab96ce865e42"} gateway-1 | {"time_local":"24/Sep/2024:23:58:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3094","request_time":"2.690","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"0f11dcf9c3a6ef90b02b1963ddd67b0e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"b9427ecc9f28a072b5f8fd1912d4917b","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"b9427ecc9f28a072b5f8fd1912d4917b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"42f7d34bcc2c74f4a34345c193ba86fd","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"42f7d34bcc2c74f4a34345c193ba86fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4M30.6oKplaga7A3aNqtP59IjHgxtTA8xpgMbrjN2yXlw1sY","level":"info","message":"auth send jwt","requestID":"de637a58c5a88be53a71e8497b4ee20a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"de637a58c5a88be53a71e8497b4ee20a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"de637a58c5a88be53a71e8497b4ee20a"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/15ff01a2-2c68-44a7-bc2b-907407085cf1' closed"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.912711,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de637a58c5a88be53a71e8497b4ee20a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222283,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4M30.6oKplaga7A3aNqtP59IjHgxtTA8xpgMbrjN2yXlw1sY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"de637a58c5a88be53a71e8497b4ee20a","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/70a908c3-e848-442a-8c45-66325810083a' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e59fa5d0-9ea4-48b6-b457-60220dddfe3f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.7487054} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"de637a58c5a88be53a71e8497b4ee20a","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56fad52a-06ef-41be-a31c-a1f32fb332da","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.753608} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"de637a58c5a88be53a71e8497b4ee20a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"996e5a66-82de-44d2-9e81-201da3e2b438","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.7631507} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3972834d-5f74-464d-9254-744cde1ea2c6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.7633798} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"de637a58c5a88be53a71e8497b4ee20a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.763104225Z"}]},"request_id":"97ace9ce-1c56-43ac-8890-51c84e8f3167","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.7677376} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"de637a58c5a88be53a71e8497b4ee20a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"de637a58c5a88be53a71e8497b4ee20a"} gateway-1 | {"time_local":"24/Sep/2024:23:58:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de637a58c5a88be53a71e8497b4ee20a"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"de637a58c5a88be53a71e8497b4ee20a","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4M30.6oKplaga7A3aNqtP59IjHgxtTA8xpgMbrjN2yXlw1sY","level":"info","message":"auth send jwt","requestID":"47c14815251b3695004e6f4469877a25"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"47c14815251b3695004e6f4469877a25","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"47c14815251b3695004e6f4469877a25"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.715902,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"47c14815251b3695004e6f4469877a25","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222283,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4M30.6oKplaga7A3aNqtP59IjHgxtTA8xpgMbrjN2yXlw1sY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"47c14815251b3695004e6f4469877a25","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"83379f60-06e4-4e5a-bc4a-7eb9bfd068d8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.7909398} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"47c14815251b3695004e6f4469877a25","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60837f11-f02d-4a96-9859-cb0bbb8818b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.7956033} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"47c14815251b3695004e6f4469877a25","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"e939a2e8-0e35-427c-b599-338fa04b5cee","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.8116233} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81796c05-a81d-4f61-905e-87b5d01418e0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.811909} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"47c14815251b3695004e6f4469877a25","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.811586733Z"}]},"request_id":"1bdb7c67-5fbb-4f35-81a5-6d24c6b418ca","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222283.8159661} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"47c14815251b3695004e6f4469877a25","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"47c14815251b3695004e6f4469877a25"} gateway-1 | {"time_local":"24/Sep/2024:23:58:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47c14815251b3695004e6f4469877a25"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"47c14815251b3695004e6f4469877a25","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"23cd7a594fc1cc2b704b7228b08ebe50","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"23cd7a594fc1cc2b704b7228b08ebe50","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c1fa4bbc-9466-4385-8e74-86a73675a715/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":"23cd7a594fc1cc2b704b7228b08ebe50"} device-1 | {"level":"info","message":"OPTIONS /devices/c1fa4bbc-9466-4385-8e74-86a73675a715/websocket 200 1ms","method":"OPTIONS","requestID":"23cd7a594fc1cc2b704b7228b08ebe50","responseTime":1,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc","level":"info","message":"auth send jwt","requestID":"562d1fdb75256907caad6ef7e9cd7017"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"562d1fdb75256907caad6ef7e9cd7017","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"562d1fdb75256907caad6ef7e9cd7017"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212469,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"562d1fdb75256907caad6ef7e9cd7017","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"562d1fdb75256907caad6ef7e9cd7017","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4109e9fe466b4f3f59ffe1112c799758","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4109e9fe466b4f3f59ffe1112c799758","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/cd9557eb-3fc1-4122-a583-fbedb91af939/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":"4109e9fe466b4f3f59ffe1112c799758"} device-1 | {"level":"info","message":"OPTIONS /devices/cd9557eb-3fc1-4122-a583-fbedb91af939/websocket 200 0ms","method":"OPTIONS","requestID":"4109e9fe466b4f3f59ffe1112c799758","responseTime":0,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc","level":"info","message":"auth send jwt","requestID":"f3a53e7e73aab8b8fa2425eef79ad72c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f3a53e7e73aab8b8fa2425eef79ad72c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f3a53e7e73aab8b8fa2425eef79ad72c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"562d1fdb75256907caad6ef7e9cd7017"} gateway-1 | {"time_local":"24/Sep/2024:23:58:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c1fa4bbc-9466-4385-8e74-86a73675a715/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":"562d1fdb75256907caad6ef7e9cd7017"} device-1 | {"level":"info","message":"POST /devices/c1fa4bbc-9466-4385-8e74-86a73675a715/websocket 200 23ms","method":"POST","requestID":"562d1fdb75256907caad6ef7e9cd7017","responseTime":23,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715/websocket"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925333,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f3a53e7e73aab8b8fa2425eef79ad72c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f3a53e7e73aab8b8fa2425eef79ad72c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f3a53e7e73aab8b8fa2425eef79ad72c"} device-1 | {"level":"info","message":"POST /devices/cd9557eb-3fc1-4122-a583-fbedb91af939/websocket 200 18ms","method":"POST","requestID":"f3a53e7e73aab8b8fa2425eef79ad72c","responseTime":18,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:58:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cd9557eb-3fc1-4122-a583-fbedb91af939/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f3a53e7e73aab8b8fa2425eef79ad72c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"037b6225e1161794d26014630fac583f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"037b6225e1161794d26014630fac583f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c1fa4bbc-9466-4385-8e74-86a73675a715? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"037b6225e1161794d26014630fac583f"} device-1 | {"level":"info","message":"OPTIONS /devices/c1fa4bbc-9466-4385-8e74-86a73675a715? 200 1ms","method":"OPTIONS","requestID":"037b6225e1161794d26014630fac583f","responseTime":1,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5b26a727e0d16db05487f4d7f54e21ae","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5b26a727e0d16db05487f4d7f54e21ae","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/cd9557eb-3fc1-4122-a583-fbedb91af939? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"5b26a727e0d16db05487f4d7f54e21ae"} device-1 | {"level":"info","message":"OPTIONS /devices/cd9557eb-3fc1-4122-a583-fbedb91af939? 200 1ms","method":"OPTIONS","requestID":"5b26a727e0d16db05487f4d7f54e21ae","responseTime":1,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc","level":"info","message":"auth send jwt","requestID":"bb1d8e3068e0037c7270aab74dc06b6f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bb1d8e3068e0037c7270aab74dc06b6f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"bb1d8e3068e0037c7270aab74dc06b6f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723936,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:05Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc","level":"info","message":"auth send jwt","requestID":"b143de2059c77fdca1f8b192f0613db3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b143de2059c77fdca1f8b192f0613db3","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bb1d8e3068e0037c7270aab74dc06b6f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bb1d8e3068e0037c7270aab74dc06b6f","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b143de2059c77fdca1f8b192f0613db3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796061,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b143de2059c77fdca1f8b192f0613db3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b143de2059c77fdca1f8b192f0613db3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.811586733Z"}]},"request_id":"737f10d3-6b4b-440b-a62a-215909675510","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222285.8404477} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bb1d8e3068e0037c7270aab74dc06b6f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.763104225Z"}]},"request_id":"e9215c4f-2807-4545-989c-b4d43d3abf17","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222285.843129} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b143de2059c77fdca1f8b192f0613db3","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b1f560e-50ef-43e6-8619-d2879d5529f2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222285.8454583} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"bb1d8e3068e0037c7270aab74dc06b6f","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db3b1bd5-070f-4a98-9b8e-329532196dc9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222285.8477538} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b143de2059c77fdca1f8b192f0613db3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.763104225Z"}]},"request_id":"4002f6a4-d897-41c5-9eed-926b918a049c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222285.850361} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","method":"POST","requestID":"b143de2059c77fdca1f8b192f0613db3","responseTime":1,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b143de2059c77fdca1f8b192f0613db3"} gateway-1 | {"time_local":"24/Sep/2024:23:58:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/cd9557eb-3fc1-4122-a583-fbedb91af939? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.021","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b143de2059c77fdca1f8b192f0613db3"} device-1 | {"level":"info","message":"PATCH /devices/cd9557eb-3fc1-4122-a583-fbedb91af939? 200 18ms","method":"PATCH","requestID":"b143de2059c77fdca1f8b192f0613db3","responseTime":18,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.811586733Z"}]},"request_id":"232d7ba1-5a6e-4699-b6f9-e9707ca78f54","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222285.8636608} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bb1d8e3068e0037c7270aab74dc06b6f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"bb1d8e3068e0037c7270aab74dc06b6f"} gateway-1 | {"time_local":"24/Sep/2024:23:58:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c1fa4bbc-9466-4385-8e74-86a73675a715? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bb1d8e3068e0037c7270aab74dc06b6f"} device-1 | {"level":"info","message":"PATCH /devices/c1fa4bbc-9466-4385-8e74-86a73675a715? 200 35ms","method":"PATCH","requestID":"bb1d8e3068e0037c7270aab74dc06b6f","responseTime":35,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc","level":"info","message":"auth send jwt","requestID":"be2e2883fc9855833339bafda81f1237"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"be2e2883fc9855833339bafda81f1237","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be2e2883fc9855833339bafda81f1237"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.017126,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"be2e2883fc9855833339bafda81f1237","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"be2e2883fc9855833339bafda81f1237","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.763104225Z"}]},"request_id":"019d1296-3f21-4066-9898-08e942c2e975","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222285.8810668} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"be2e2883fc9855833339bafda81f1237","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be2e2883fc9855833339bafda81f1237"} device-1 | {"level":"info","message":"GET /devices/cd9557eb-3fc1-4122-a583-fbedb91af939? 200 10ms","method":"GET","requestID":"be2e2883fc9855833339bafda81f1237","responseTime":10,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cd9557eb-3fc1-4122-a583-fbedb91af939? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be2e2883fc9855833339bafda81f1237"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc","level":"info","message":"auth send jwt","requestID":"57310efe9aeab0cffba04acab5ce5cd3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"57310efe9aeab0cffba04acab5ce5cd3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"57310efe9aeab0cffba04acab5ce5cd3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.375917,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"57310efe9aeab0cffba04acab5ce5cd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"57310efe9aeab0cffba04acab5ce5cd3","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.811586733Z"}]},"request_id":"138d5d58-beb7-4f14-a444-8f86577e0221","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222285.8970778} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"57310efe9aeab0cffba04acab5ce5cd3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"57310efe9aeab0cffba04acab5ce5cd3"} gateway-1 | {"time_local":"24/Sep/2024:23:58:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c1fa4bbc-9466-4385-8e74-86a73675a715? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57310efe9aeab0cffba04acab5ce5cd3"} device-1 | {"level":"info","message":"GET /devices/c1fa4bbc-9466-4385-8e74-86a73675a715? 200 11ms","method":"GET","requestID":"57310efe9aeab0cffba04acab5ce5cd3","responseTime":11,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc","level":"info","message":"auth send jwt","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7caf6b57aa31d2e85293a938eabbd5e5","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.690047,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7caf6b57aa31d2e85293a938eabbd5e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7caf6b57aa31d2e85293a938eabbd5e5","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Attempting to run experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Attempting to book experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Successfully booked experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7850520-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7852c30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700495,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7850520-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7850520-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.180453,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7852c30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d7852c30-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.763104225Z"}]},"request_id":"399210ae-b0d0-4d7e-86f8-de37fdfa48f0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222285.9452507} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7850520-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.811586733Z"}]},"request_id":"568668fe-470a-4b8c-840f-363857947232","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222285.948452} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7850520-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/cd9557eb-3fc1-4122-a583-fbedb91af939? 200 12ms","method":"GET","requestID":"d7850520-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d7852c30-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7852c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c1fa4bbc-9466-4385-8e74-86a73675a715? 200 16ms","method":"GET","requestID":"d7852c30-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Setting up experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Successfully set up experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d78d90a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d78db7b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d78e05d0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Successfully running experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975478,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d78d90a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d78d90a0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652478,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d78db7b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d78db7b0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.022152,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22fa1127-ee9f-4a47-88c3-8de5a9b59524","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.0051103} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d78e05d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","object_type":"device","rebac_allow":false,"scope_allow":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":"d78e05d0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.763104225Z"}]},"request_id":"be07212d-d3bc-4a60-bdae-ef8633f2ac0c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.0073118} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.811586733Z"}]},"request_id":"b0828b8b-a61e-4df0-8600-7f937f7cef28","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.009004} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"d78d90a0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d78db7b0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d78d90a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/cd9557eb-3fc1-4122-a583-fbedb91af939? 200 23ms","method":"GET","requestID":"d78d90a0-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d78e05d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cd9557eb-3fc1-4122-a583-fbedb91af939/signaling 200 21ms","method":"POST","requestID":"d78e05d0-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d78db7b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c1fa4bbc-9466-4385-8e74-86a73675a715? 200 24ms","method":"GET","requestID":"d78db7b0-7ad0-11ef-9247-9909de679d1e","responseTime":24,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7256658a-2a72-4bae-ac6b-22cb63ed793f#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7256658a-2a72-4bae-ac6b-22cb63ed793f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"3eab1228-85a4-4411-965e-224d4e80e9b7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.0201995} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d791af50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"925ae068-3f11-4e85-b70b-b0138b2a84d5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.0205953} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"7caf6b57aa31d2e85293a938eabbd5e5","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d791fd70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1eb7545e-7f91-4a7b-a73c-20dbdaf9ba52","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.0260181} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.793366,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d791af50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d791af50-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /experiments? 201 122ms","method":"POST","requestID":"7caf6b57aa31d2e85293a938eabbd5e5","responseTime":122,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1212","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e29ca6aa-04dd-42fb-b9ad-9d4a9fea3a2e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.0288532} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.173028,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d791fd70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d791fd70-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE","level":"info","message":"auth send jwt","requestID":"db2f41acefb21c269283343c3b008392"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d791af50-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"db2f41acefb21c269283343c3b008392","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/c1fa4bbc-9466-4385-8e74-86a73675a715/signaling 200 11ms","method":"POST","requestID":"d791af50-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"db2f41acefb21c269283343c3b008392"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d791fd70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cd9557eb-3fc1-4122-a583-fbedb91af939/signaling 200 16ms","method":"POST","requestID":"d791fd70-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.957321,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"db2f41acefb21c269283343c3b008392","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222286,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d794e3a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"db2f41acefb21c269283343c3b008392","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.763104225Z"}]},"request_id":"2db0393a-bfa8-4b69-b549-15898e9e34cf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.0465147} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"db2f41acefb21c269283343c3b008392","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7022a618-4042-4d5b-841a-d312927f3c5f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.0472896} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.354292,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d794e3a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","object_type":"device","rebac_allow":false,"scope_allow":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":"d794e3a0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"db2f41acefb21c269283343c3b008392"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cd9557eb-3fc1-4122-a583-fbedb91af939? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db2f41acefb21c269283343c3b008392"} device-1 | {"level":"info","message":"GET /devices/cd9557eb-3fc1-4122-a583-fbedb91af939? 200 16ms","method":"GET","requestID":"db2f41acefb21c269283343c3b008392","responseTime":16,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d794e3a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c1fa4bbc-9466-4385-8e74-86a73675a715/signaling 200 11ms","method":"POST","requestID":"d794e3a0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d796df70-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE","level":"info","message":"auth send jwt","requestID":"996e5f34cdf2a49f19138573282399ba"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7970680-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"996e5f34cdf2a49f19138573282399ba","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"996e5f34cdf2a49f19138573282399ba"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918023,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685766,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d796df70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d796df70-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7970680-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d7970680-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43922","level":"info","msg":"Received request.","req_id":1401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:43922","level":"info","msg":"Sent response.","req_id":1401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.050035,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"996e5f34cdf2a49f19138573282399ba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222286,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"996e5f34cdf2a49f19138573282399ba","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.763104225Z"}]},"request_id":"c3bf1b13-be42-435a-9a12-9aa638b8eb25","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.0636523} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d796df70-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.811586733Z"}]},"request_id":"b248ed80-208c-4813-a00f-c1f662d0f9c7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.065689} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7970680-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:03.811586733Z"}]},"request_id":"43eebaca-3ec1-4f7a-a52e-23b1f6c7410e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.0676014} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"996e5f34cdf2a49f19138573282399ba","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d796df70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/cd9557eb-3fc1-4122-a583-fbedb91af939? 200 14ms","method":"GET","requestID":"d796df70-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7970680-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/c1fa4bbc-9466-4385-8e74-86a73675a715? 200 16ms","method":"GET","requestID":"d7970680-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"996e5f34cdf2a49f19138573282399ba"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Building connection plan","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} 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":"3631024c-a260-4016-b2c0-54e724993a55"},{"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":"33b41044-a0e0-427d-b315-60f5e6b3b586"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"443eff77-5b56-4de4-9441-79502161d6b1"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} device-1 | {"level":"info","message":"GET /devices/c1fa4bbc-9466-4385-8e74-86a73675a715? 200 16ms","method":"GET","requestID":"996e5f34cdf2a49f19138573282399ba","responseTime":16,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c1fa4bbc-9466-4385-8e74-86a73675a715? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"996e5f34cdf2a49f19138573282399ba"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"d799ecb0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"d799ecb0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"d799ecb0-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6?id=961a54c1-0fdf-4c08-ac12-9c10ceca7f0e","ws://localhost/rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6?id=f3e65488-ebff-49a4-9044-0a13c7c66716"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d79a3ad0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.773336,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d79a3ad0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222285,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4NX0._fAbFUoESRCyqfvREKLgbEYgxbpAJ_JyjwdrnAKjoWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d79a3ad0-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a5b087fb-6102-4adf-b84e-39140bfa2ab5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.0891383} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"62245a54-94ee-4a5d-8798-c1268a7022dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.0893476} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d79a3ad0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d79a3ad0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d79a3ad0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a'","requestID":"d79a3ad0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a'","requestID":"d79a3ad0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d79a3ad0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 24ms","method":"POST","requestID":"d79a3ad0-7ad0-11ef-9247-9909de679d1e","responseTime":24,"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":"d79a3ad0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"d79fb910-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"961a54c1-0fdf-4c08-ac12-9c10ceca7f0e\" in room \"http://localhost/rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6\"","requestID":"d79fb910-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"d79fb910-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"d79fe020-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"f3e65488-ebff-49a4-9044-0a13c7c66716\" in room \"http://localhost/rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6\"","requestID":"d79fe020-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"d79fe020-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0f3b8222fef2befaa6277faf3bf94183","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0f3b8222fef2befaa6277faf3bf94183","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"961a54c1-0fdf-4c08-ac12-9c10ceca7f0e\" in room \"http://localhost/rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"961a54c1-0fdf-4c08-ac12-9c10ceca7f0e\" in room \"http://localhost/rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6\""} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a"}}},"level":"info","message":"received a callback","requestID":"0f3b8222fef2befaa6277faf3bf94183"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"961a54c1-0fdf-4c08-ac12-9c10ceca7f0e\" in room \"http://localhost/rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"961a54c1-0fdf-4c08-ac12-9c10ceca7f0e\" in room \"http://localhost/rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6\""} device-1 | {"data":{"peerconnection":"3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"0f3b8222fef2befaa6277faf3bf94183","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f3b8222fef2befaa6277faf3bf94183"} device-1 | {"data":{"peerconnection":"3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7caf6b57aa31d2e85293a938eabbd5e5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7a425e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d6d7578-ad70-49cd-a6d0-2cf4291d9a43","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.147367} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.287896,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7a425e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","object_type":"device","rebac_allow":false,"scope_allow":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":"d7a425e0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7a425e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cd9557eb-3fc1-4122-a583-fbedb91af939/signaling 200 11ms","method":"POST","requestID":"d7a425e0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"279bc291a1e5e777661cdbbdb846ae9c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"279bc291a1e5e777661cdbbdb846ae9c","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7a648c0-7ad0-11ef-9247-9909de679d1e"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a"}}},"level":"info","message":"received a callback","requestID":"279bc291a1e5e777661cdbbdb846ae9c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6abf12f1-fb7e-48a0-a3e3-032a4aab7fdf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.160099} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.547451,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7a648c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d7a648c0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d7a73320-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7a648c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c1fa4bbc-9466-4385-8e74-86a73675a715/signaling 200 10ms","method":"POST","requestID":"d7a648c0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a77d0067-150a-4a41-8d4c-bb126874524c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.1672351} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.59152,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7a73320-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","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":"d7a73320-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d7a73320-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a 200 8ms","method":"GET","requestID":"d7a73320-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"279bc291a1e5e777661cdbbdb846ae9c","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"279bc291a1e5e777661cdbbdb846ae9c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7aab590-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3ec26da-434e-43f6-b577-b0a6ae002e52","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.1898587} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.164286,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7aab590-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","object_type":"device","rebac_allow":false,"scope_allow":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":"d7aab590-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7aab590-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c1fa4bbc-9466-4385-8e74-86a73675a715/signaling 200 8ms","method":"POST","requestID":"d7aab590-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7ac3c30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf09fcab-d003-484e-84ec-203a3d0bd2d3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.1990085} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.153605,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7ac3c30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","object_type":"device","rebac_allow":false,"scope_allow":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":"d7ac3c30-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7ac3c30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cd9557eb-3fc1-4122-a583-fbedb91af939/signaling 200 8ms","method":"POST","requestID":"d7ac3c30-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE","level":"info","message":"auth send jwt","requestID":"ad1c0b7a451299f58b9c9bf37a984935"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ad1c0b7a451299f58b9c9bf37a984935","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f","requestID":"ad1c0b7a451299f58b9c9bf37a984935"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.687104,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ad1c0b7a451299f58b9c9bf37a984935","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222286,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ad1c0b7a451299f58b9c9bf37a984935","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f","requestID":"ad1c0b7a451299f58b9c9bf37a984935"} experiment-1 | {"level":"info","message":"GET /experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f 200 9ms","method":"GET","requestID":"ad1c0b7a451299f58b9c9bf37a984935","responseTime":9,"status":200,"url":"/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f HTTP/1.1","status": "200","body_bytes_sent":"1285","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad1c0b7a451299f58b9c9bf37a984935"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE","level":"info","message":"auth send jwt","requestID":"61713b53c1c0a247cf05b385c97fd43a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"61713b53c1c0a247cf05b385c97fd43a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f","requestID":"61713b53c1c0a247cf05b385c97fd43a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.546588,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"61713b53c1c0a247cf05b385c97fd43a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222286,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"61713b53c1c0a247cf05b385c97fd43a","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Attempting to finish experiment","requestID":"61713b53c1c0a247cf05b385c97fd43a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d7b4eec0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.204468,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7b4eec0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222286,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d7b4eec0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","device":"c1fa4bbc-9466-4385-8e74-86a73675a715","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6?id=961a54c1-0fdf-4c08-ac12-9c10ceca7f0e HTTP/1.1","status": "101","body_bytes_sent":"438","request_time":"0.151","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3a85faab09ba1c9c225b75fda2d91ff6"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"961a54c1-0fdf-4c08-ac12-9c10ceca7f0e\" in room \"http://localhost/rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"961a54c1-0fdf-4c08-ac12-9c10ceca7f0e\" from room \"http://localhost/rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","device":"cd9557eb-3fc1-4122-a583-fbedb91af939","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6?id=f3e65488-ebff-49a4-9044-0a13c7c66716 HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.152","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"752986ee4c0a5977df8a81de446e1fab"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"f3e65488-ebff-49a4-9044-0a13c7c66716\" in room \"http://localhost/rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"f3e65488-ebff-49a4-9044-0a13c7c66716\" from room \"http://localhost/rooms/c0a19b41-93ad-4427-9efd-d64e3d04e2b6\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"801e2c44216517aaf8007ad66ce3c22a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"801e2c44216517aaf8007ad66ce3c22a","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d9250292879443476447f76ff3322d85","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a"}}},"level":"info","message":"received a callback","requestID":"801e2c44216517aaf8007ad66ce3c22a"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d9250292879443476447f76ff3322d85","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"a00f3105-50c6-4294-aa7b-4144e76443aa","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.2707071} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b31bb302-665e-4065-b4e3-a5c00d54a7d7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.2709036} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a"}}},"level":"info","message":"received a callback","requestID":"d9250292879443476447f76ff3322d85"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"d7b4eec0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d7b4eec0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a 204 39ms","method":"DELETE","requestID":"d7b4eec0-7ad0-11ef-9247-9909de679d1e","responseTime":39,"status":204,"url":"/peerconnections/3c3bb4fe-2417-436c-a8e2-60c6a30fcb3a"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939'"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"},"level":"info","message":"Successfully finished experiment","requestID":"61713b53c1c0a247cf05b385c97fd43a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7bd2c20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1fa4bbc-9466-4385-8e74-86a73675a715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20822d4d-24d2-4399-bb9f-c5ae9d258e06","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.3113935} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.180127,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7bd2c20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715","object_type":"device","rebac_allow":false,"scope_allow":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":"d7bd2c20-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7bd2c20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/c1fa4bbc-9466-4385-8e74-86a73675a715/signaling 200 10ms","method":"POST","requestID":"d7bd2c20-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/c1fa4bbc-9466-4385-8e74-86a73675a715/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7256658a-2a72-4bae-ac6b-22cb63ed793f': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7256658a-2a72-4bae-ac6b-22cb63ed793f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"f94558fc-ee9d-4c83-834e-55934e4766da","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.3175862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8609b5f-5b9f-45e4-9e68-8ff8f4e8091f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.3178492} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7bf00e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"61713b53c1c0a247cf05b385c97fd43a","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd9557eb-3fc1-4122-a583-fbedb91af939","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"130d5dbf-1efa-4b0f-9aa5-8e05e5eda88e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.3232725} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.469275,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d7bf00e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939","object_type":"device","rebac_allow":false,"scope_allow":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":"d7bf00e0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7bf00e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/cd9557eb-3fc1-4122-a583-fbedb91af939/signaling 200 9ms","method":"POST","requestID":"d7bf00e0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/cd9557eb-3fc1-4122-a583-fbedb91af939/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f","requestID":"61713b53c1c0a247cf05b385c97fd43a"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61713b53c1c0a247cf05b385c97fd43a"} experiment-1 | {"level":"info","message":"DELETE /experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f 204 146ms","method":"DELETE","requestID":"61713b53c1c0a247cf05b385c97fd43a","responseTime":146,"status":204,"url":"/experiments/7256658a-2a72-4bae-ac6b-22cb63ed793f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"801e2c44216517aaf8007ad66ce3c22a","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"801e2c44216517aaf8007ad66ce3c22a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"d9250292879443476447f76ff3322d85","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"d9250292879443476447f76ff3322d85"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE","level":"info","message":"auth send jwt","requestID":"db3f55d638e945845fee8ef00ab4d31a"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"db3f55d638e945845fee8ef00ab4d31a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"db3f55d638e945845fee8ef00ab4d31a"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1744","request_time":"0.603","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"755b5f16f8a729ffe2bafda0a8ab75a7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.769437,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"db3f55d638e945845fee8ef00ab4d31a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222286,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"db3f55d638e945845fee8ef00ab4d31a","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1745","request_time":"0.594","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fd07cc3eb8c19125a72958b8b89fca0a"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c1fa4bbc-9466-4385-8e74-86a73675a715' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cd9557eb-3fc1-4122-a583-fbedb91af939' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9790581a-1ac3-45d7-8858-c8b587db313a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.4162405} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"db3f55d638e945845fee8ef00ab4d31a","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d76d4c6b-aea3-4835-8b23-584ef34cdb34","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.420261} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"db3f55d638e945845fee8ef00ab4d31a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"6e9e2c78-148e-4f33-a627-eb81da66e6fe","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.4312599} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7645c3f-73f0-4094-bc94-54c9d2fa9802","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.4314015} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"db3f55d638e945845fee8ef00ab4d31a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.431228545Z"}]},"request_id":"5ff0863f-423f-4a09-ba15-beb646efc0e7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.4354866} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"db3f55d638e945845fee8ef00ab4d31a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"db3f55d638e945845fee8ef00ab4d31a"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db3f55d638e945845fee8ef00ab4d31a"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"db3f55d638e945845fee8ef00ab4d31a","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE","level":"info","message":"auth send jwt","requestID":"2cd0e1ff5e56829a0ccb0def77421526"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2cd0e1ff5e56829a0ccb0def77421526","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2cd0e1ff5e56829a0ccb0def77421526"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.707441,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2cd0e1ff5e56829a0ccb0def77421526","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222286,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4Nn0.PuHJF7w0iAVnNVWaJpH-U65nToHl7Ryng_o6oEUsyWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2cd0e1ff5e56829a0ccb0def77421526","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9d82f3a-63cd-4898-ad45-fe04066b7471","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.4566624} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2cd0e1ff5e56829a0ccb0def77421526","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1eb94300-3cac-4290-9b8d-019dbb6e0c18","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.4615557} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2cd0e1ff5e56829a0ccb0def77421526","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"61354ac1-43a6-48fd-820b-84e75b605554","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.4715588} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c9ea9dce-661d-4892-824a-eaa41553d66b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.4717312} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"2cd0e1ff5e56829a0ccb0def77421526","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.471517046Z"}]},"request_id":"bc9b6d01-f351-4e7b-ac5d-6530e5321c00","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222286.4748476} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2cd0e1ff5e56829a0ccb0def77421526","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2cd0e1ff5e56829a0ccb0def77421526"} gateway-1 | {"time_local":"24/Sep/2024:23:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2cd0e1ff5e56829a0ccb0def77421526"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"2cd0e1ff5e56829a0ccb0def77421526","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"25c1a7370f9384c4c5785048805a5b4c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"25c1a7370f9384c4c5785048805a5b4c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7885889e-17ac-4518-ab30-37a7146515db/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":"25c1a7370f9384c4c5785048805a5b4c"} device-1 | {"level":"info","message":"OPTIONS /devices/7885889e-17ac-4518-ab30-37a7146515db/websocket 200 1ms","method":"OPTIONS","requestID":"25c1a7370f9384c4c5785048805a5b4c","responseTime":1,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c93a4cef300f3cb99168cc8141616550","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c93a4cef300f3cb99168cc8141616550","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/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":"c93a4cef300f3cb99168cc8141616550"} device-1 | {"level":"info","message":"OPTIONS /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/websocket 200 1ms","method":"OPTIONS","requestID":"c93a4cef300f3cb99168cc8141616550","responseTime":1,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw","level":"info","message":"auth send jwt","requestID":"2af8c32bcc0f77fc27bfee61d38aaf03"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2af8c32bcc0f77fc27bfee61d38aaf03","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2af8c32bcc0f77fc27bfee61d38aaf03"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw","level":"info","message":"auth send jwt","requestID":"286ce1f9a60ceefc45a173fa323584a1"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"286ce1f9a60ceefc45a173fa323584a1","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.352788,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2af8c32bcc0f77fc27bfee61d38aaf03","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"286ce1f9a60ceefc45a173fa323584a1"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2af8c32bcc0f77fc27bfee61d38aaf03","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.30302,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"286ce1f9a60ceefc45a173fa323584a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"286ce1f9a60ceefc45a173fa323584a1","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2af8c32bcc0f77fc27bfee61d38aaf03"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7885889e-17ac-4518-ab30-37a7146515db/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":"2af8c32bcc0f77fc27bfee61d38aaf03"} device-1 | {"level":"info","message":"POST /devices/7885889e-17ac-4518-ab30-37a7146515db/websocket 200 27ms","method":"POST","requestID":"2af8c32bcc0f77fc27bfee61d38aaf03","responseTime":27,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"286ce1f9a60ceefc45a173fa323584a1"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.039","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"286ce1f9a60ceefc45a173fa323584a1"} device-1 | {"level":"info","message":"POST /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/websocket 200 32ms","method":"POST","requestID":"286ce1f9a60ceefc45a173fa323584a1","responseTime":32,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7d5e7a7de788c3cf24edbaa481cae371","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"7d5e7a7de788c3cf24edbaa481cae371","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7885889e-17ac-4518-ab30-37a7146515db? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"7d5e7a7de788c3cf24edbaa481cae371"} device-1 | {"level":"info","message":"OPTIONS /devices/7885889e-17ac-4518-ab30-37a7146515db? 200 1ms","method":"OPTIONS","requestID":"7d5e7a7de788c3cf24edbaa481cae371","responseTime":1,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw","level":"info","message":"auth send jwt","requestID":"ef0354dfc41d83b39fb88f9f51062f37"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ef0354dfc41d83b39fb88f9f51062f37","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d8ed39e42b60d05a3c79f88309b4f7ee","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d8ed39e42b60d05a3c79f88309b4f7ee","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ef0354dfc41d83b39fb88f9f51062f37"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"d8ed39e42b60d05a3c79f88309b4f7ee"} device-1 | {"level":"info","message":"OPTIONS /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69? 200 1ms","method":"OPTIONS","requestID":"d8ed39e42b60d05a3c79f88309b4f7ee","responseTime":1,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.275899,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ef0354dfc41d83b39fb88f9f51062f37","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ef0354dfc41d83b39fb88f9f51062f37","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw","level":"info","message":"auth send jwt","requestID":"9afe1dbde847ee4bbecaa0bc1e7f7b22"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9afe1dbde847ee4bbecaa0bc1e7f7b22","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"9afe1dbde847ee4bbecaa0bc1e7f7b22"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.471517046Z"}]},"request_id":"3ad3b7c4-f02d-4c6c-b6a1-2db48bb0435d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.5432794} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ef0354dfc41d83b39fb88f9f51062f37","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.744423,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9afe1dbde847ee4bbecaa0bc1e7f7b22","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9afe1dbde847ee4bbecaa0bc1e7f7b22","responseTime":6,"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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c94a1c05-0db9-4c59-a3fd-1f724e659bc6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.5506628} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"ef0354dfc41d83b39fb88f9f51062f37","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.471517046Z"}]},"request_id":"0de7512f-3154-40f4-9894-cd5f994ea201","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.5659206} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ef0354dfc41d83b39fb88f9f51062f37","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.431228545Z"}]},"request_id":"41691480-c5c8-4cc4-a532-8c7af097be8d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.5678725} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ef0354dfc41d83b39fb88f9f51062f37"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9afe1dbde847ee4bbecaa0bc1e7f7b22","responseTime":3,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7885889e-17ac-4518-ab30-37a7146515db? HTTP/1.1","status": "200","body_bytes_sent":"1007","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":"ef0354dfc41d83b39fb88f9f51062f37"} device-1 | {"level":"info","message":"PATCH /devices/7885889e-17ac-4518-ab30-37a7146515db? 200 38ms","method":"PATCH","requestID":"ef0354dfc41d83b39fb88f9f51062f37","responseTime":38,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2266394-9ee8-4c07-bb09-492c4039d9fd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.5760002} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"9afe1dbde847ee4bbecaa0bc1e7f7b22","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.431228545Z"}]},"request_id":"970f5f3d-8754-45c3-8988-76a92c023fb9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.5857077} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9afe1dbde847ee4bbecaa0bc1e7f7b22","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"9afe1dbde847ee4bbecaa0bc1e7f7b22"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69? HTTP/1.1","status": "200","body_bytes_sent":"1007","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":"9afe1dbde847ee4bbecaa0bc1e7f7b22"} device-1 | {"level":"info","message":"PATCH /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69? 200 48ms","method":"PATCH","requestID":"9afe1dbde847ee4bbecaa0bc1e7f7b22","responseTime":48,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw","level":"info","message":"auth send jwt","requestID":"91fe128003fea985001609afb4124a15"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"91fe128003fea985001609afb4124a15","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91fe128003fea985001609afb4124a15"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.289737,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"91fe128003fea985001609afb4124a15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"91fe128003fea985001609afb4124a15","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.431228545Z"}]},"request_id":"f0a9f221-0c2d-4a39-b581-cca0bc8973b9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.6114821} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"91fe128003fea985001609afb4124a15","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91fe128003fea985001609afb4124a15"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91fe128003fea985001609afb4124a15"} device-1 | {"level":"info","message":"GET /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69? 200 17ms","method":"GET","requestID":"91fe128003fea985001609afb4124a15","responseTime":17,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw","level":"info","message":"auth send jwt","requestID":"0e6fe2d3239cbb2d1c83b71b56aa04bc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0e6fe2d3239cbb2d1c83b71b56aa04bc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0e6fe2d3239cbb2d1c83b71b56aa04bc"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.83079,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0e6fe2d3239cbb2d1c83b71b56aa04bc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0e6fe2d3239cbb2d1c83b71b56aa04bc","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.471517046Z"}]},"request_id":"e90c2b51-ce55-4f02-9619-f40558980bef","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.6342292} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0e6fe2d3239cbb2d1c83b71b56aa04bc","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0e6fe2d3239cbb2d1c83b71b56aa04bc"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7885889e-17ac-4518-ab30-37a7146515db? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e6fe2d3239cbb2d1c83b71b56aa04bc"} device-1 | {"level":"info","message":"GET /devices/7885889e-17ac-4518-ab30-37a7146515db? 200 16ms","method":"GET","requestID":"0e6fe2d3239cbb2d1c83b71b56aa04bc","responseTime":16,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw","level":"info","message":"auth send jwt","requestID":"3da6e452ec40ca15415d078cee6fd851"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3da6e452ec40ca15415d078cee6fd851","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3da6e452ec40ca15415d078cee6fd851"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.285445,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3da6e452ec40ca15415d078cee6fd851","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3da6e452ec40ca15415d078cee6fd851","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Attempting to run experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Attempting to book experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Successfully booked experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d927dfb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d92854e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.131392,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d927dfb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d927dfb0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742472,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d92854e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d92854e0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.431228545Z"}]},"request_id":"2fc5d18c-de1e-41e8-b6d1-56ad6a6a1f7b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.6944973} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d927dfb0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.471517046Z"}]},"request_id":"ed785dfd-6457-400e-b5e8-b61ce9d6dcdf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.6953595} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d92854e0-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d927dfb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69? 200 19ms","method":"GET","requestID":"d927dfb0-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d92854e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/7885889e-17ac-4518-ab30-37a7146515db? 200 18ms","method":"GET","requestID":"d92854e0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Setting up experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Successfully set up experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d9315590-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d931a3b0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Successfully running experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d931cac0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678479,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d9315590-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d9315590-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.447643,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d931a3b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d931a3b0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.171431,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8d551f2-b180-4ad4-978a-57ec8782fa02","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.756272} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d931cac0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","object_type":"device","rebac_allow":false,"scope_allow":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":"d931cac0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.431228545Z"}]},"request_id":"2682eb20-0ca6-4590-b8d7-18c47a3c285c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.7577944} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.471517046Z"}]},"request_id":"c3293b30-9654-4b0a-8f63-69fb7c39e424","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.7592502} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"d9315590-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d931a3b0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d931cac0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/signaling 200 19ms","method":"POST","requestID":"d931cac0-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d9315590-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69? 200 23ms","method":"GET","requestID":"d9315590-7ad0-11ef-9247-9909de679d1e","responseTime":23,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d931a3b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/7885889e-17ac-4518-ab30-37a7146515db? 200 22ms","method":"GET","requestID":"d931a3b0-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d9352620-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F743da033-3a00-439c-a0ad-021d1bf9b132#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F743da033-3a00-439c-a0ad-021d1bf9b132","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"e8a18bd2-0b8b-418b-8a0e-0424e3cd2201","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.7706912} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e71fcbd7-6a50-4b84-bc87-928651e6ce6c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.7710514} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d9357440-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"3da6e452ec40ca15415d078cee6fd851","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7458e8c0-4aae-4da1-9336-7eb95ffd7ff7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.7755175} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.762449,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d9352620-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d9352620-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a67af446-7885-4b86-a005-7262d3568b0c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.7777324} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.250561,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d9357440-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","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/743da033-3a00-439c-a0ad-021d1bf9b132","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3da6e452ec40ca15415d078cee6fd851"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d9357440-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1212","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3da6e452ec40ca15415d078cee6fd851"} experiment-1 | {"level":"info","message":"POST /experiments? 201 134ms","method":"POST","requestID":"3da6e452ec40ca15415d078cee6fd851","responseTime":134,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d9352620-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/7885889e-17ac-4518-ab30-37a7146515db/signaling 200 12ms","method":"POST","requestID":"d9352620-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d9357440-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/signaling 200 12ms","method":"POST","requestID":"d9357440-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d9379720-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw","level":"info","message":"auth send jwt","requestID":"9731e97c415767fc6769da31b6c6ba56"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9731e97c415767fc6769da31b6c6ba56","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9731e97c415767fc6769da31b6c6ba56"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99d61408-8818-48b8-8dfb-e5e202513c43","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.7909913} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.828039,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.883063,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9731e97c415767fc6769da31b6c6ba56","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9731e97c415767fc6769da31b6c6ba56","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d9379720-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","object_type":"device","rebac_allow":false,"scope_allow":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":"d9379720-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.431228545Z"}]},"request_id":"4a496673-54d4-43d8-bcda-a602d4af684c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.7954216} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d9379720-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/7885889e-17ac-4518-ab30-37a7146515db/signaling 200 10ms","method":"POST","requestID":"d9379720-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9731e97c415767fc6769da31b6c6ba56","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d9396be0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9731e97c415767fc6769da31b6c6ba56"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9731e97c415767fc6769da31b6c6ba56"} device-1 | {"level":"info","message":"GET /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69? 200 12ms","method":"GET","requestID":"9731e97c415767fc6769da31b6c6ba56","responseTime":12,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d939ba00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.823129,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d9396be0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d9396be0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.628104,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw","level":"info","message":"auth send jwt","requestID":"0274b4a8e3f3957423f6502273f115f6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0274b4a8e3f3957423f6502273f115f6","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d939ba00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d939ba00-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0274b4a8e3f3957423f6502273f115f6"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.431228545Z"}]},"request_id":"30319b4d-bff6-4e6a-b47d-7b8710f9c338","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.8073099} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.471517046Z"}]},"request_id":"05252f9e-dde3-45b1-bbd9-96631f5462fb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.808605} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"d9396be0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d939ba00-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.827288,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0274b4a8e3f3957423f6502273f115f6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0274b4a8e3f3957423f6502273f115f6","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d9396be0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69? 200 18ms","method":"GET","requestID":"d9396be0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:06.471517046Z"}]},"request_id":"9ff83bbf-7d8e-41e0-bf97-7dcf12564e76","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.8166897} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d939ba00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0274b4a8e3f3957423f6502273f115f6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/7885889e-17ac-4518-ab30-37a7146515db? 200 17ms","method":"GET","requestID":"d939ba00-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Building connection plan","requestID":"3da6e452ec40ca15415d078cee6fd851"} 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":"80a91709-3e67-4a98-a5a3-7c741916dfb0"},{"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":"fa98419c-cb89-4fcb-83e0-2f12f5604f0f"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"6157a533-aa8d-4e94-8c23-682d62e42785"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3da6e452ec40ca15415d078cee6fd851"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"d93ca030-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"d93ca030-7ad0-11ef-a772-4d02dbd671ac"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0274b4a8e3f3957423f6502273f115f6"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7885889e-17ac-4518-ab30-37a7146515db? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0274b4a8e3f3957423f6502273f115f6"} device-1 | {"level":"info","message":"GET /devices/7885889e-17ac-4518-ab30-37a7146515db? 200 15ms","method":"GET","requestID":"0274b4a8e3f3957423f6502273f115f6","responseTime":15,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db?"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"d93ca030-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee?id=467191bb-517d-48ec-81ed-1e3ada98c201","ws://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee?id=72cb5412-5b3d-4cac-a44b-6354367f889c"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"3da6e452ec40ca15415d078cee6fd851"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d93d3c70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.841563,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d93d3c70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d93d3c70-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"f27a91a7-cb3b-43d8-b362-16ec7eaeb36f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.8340592} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1460c3ac-b4d7-44be-abfa-de83662291dd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.8341835} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d93d3c70-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d93d3c70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d93d3c70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e'","requestID":"d93d3c70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e'","requestID":"d93d3c70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d93d3c70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"d93d3c70-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d93d3c70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e' to 'http://localhost/callbacks/experiment'"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"d942e1c0-7ad0-11ef-a772-4d02dbd671ac"} device-1 | {"data":{"peerconnection":"0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"467191bb-517d-48ec-81ed-1e3ada98c201\" in room \"http://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee\"","requestID":"d942e1c0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"d942e1c0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"d94308d0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"72cb5412-5b3d-4cac-a44b-6354367f889c\" in room \"http://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee\"","requestID":"d94308d0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"d94308d0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"467191bb-517d-48ec-81ed-1e3ada98c201\" in room \"http://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee\""} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cf7f1db0982037ee07c7b41599e7ef79","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"cf7f1db0982037ee07c7b41599e7ef79","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"467191bb-517d-48ec-81ed-1e3ada98c201\" in room \"http://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee\""} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e"}}},"level":"info","message":"received a callback","requestID":"cf7f1db0982037ee07c7b41599e7ef79"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"467191bb-517d-48ec-81ed-1e3ada98c201\" in room \"http://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"467191bb-517d-48ec-81ed-1e3ada98c201\" in room \"http://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"467191bb-517d-48ec-81ed-1e3ada98c201\" in room \"http://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"467191bb-517d-48ec-81ed-1e3ada98c201\" in room \"http://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee\""} device-1 | {"data":{"peerconnection":"0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"cf7f1db0982037ee07c7b41599e7ef79","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf7f1db0982037ee07c7b41599e7ef79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3da6e452ec40ca15415d078cee6fd851"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d9472780-7ad0-11ef-9247-9909de679d1e"} device-1 | {"data":{"peerconnection":"0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62b924fb-d64e-4a5c-b92d-5cd320c77f38","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.8925738} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.27109,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d9472780-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d9472780-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d9472780-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/signaling 200 15ms","method":"POST","requestID":"d9472780-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"828e5d9d871b770cc245353638496bc5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"828e5d9d871b770cc245353638496bc5","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d949bf90-7ad0-11ef-9247-9909de679d1e"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e"}}},"level":"info","message":"received a callback","requestID":"828e5d9d871b770cc245353638496bc5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6b684ac-2c3c-4fad-bbbf-00acbe409061","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.9109786} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.520355,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d949bf90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","object_type":"device","rebac_allow":false,"scope_allow":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":"d949bf90-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d94ad100-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d949bf90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/7885889e-17ac-4518-ab30-37a7146515db/signaling 200 11ms","method":"POST","requestID":"d949bf90-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c71e66b9-8032-4b42-afc2-b2d5639f3836","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.9169807} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.760549,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d94ad100-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","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":"d94ad100-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d94ad100-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e 200 10ms","method":"GET","requestID":"d94ad100-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"828e5d9d871b770cc245353638496bc5","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"828e5d9d871b770cc245353638496bc5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d94e5370-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b8d6028-c57c-4ef5-92a9-7bde4e016c56","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.939986} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.512118,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d94e5370-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d94e5370-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d94e5370-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/7885889e-17ac-4518-ab30-37a7146515db/signaling 200 8ms","method":"POST","requestID":"d94e5370-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d94fda10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99497f70-1f08-4a7e-b1a7-9c64eeb8796b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222288.9496024} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.378198,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d94fda10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d94fda10-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d94fda10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/signaling 200 8ms","method":"POST","requestID":"d94fda10-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw","level":"info","message":"auth send jwt","requestID":"b1397f2c701eea053d5ace68ecb755c6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b1397f2c701eea053d5ace68ecb755c6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/743da033-3a00-439c-a0ad-021d1bf9b132","requestID":"b1397f2c701eea053d5ace68ecb755c6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.691862,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b1397f2c701eea053d5ace68ecb755c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b1397f2c701eea053d5ace68ecb755c6","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/743da033-3a00-439c-a0ad-021d1bf9b132","requestID":"b1397f2c701eea053d5ace68ecb755c6"} gateway-1 | {"time_local":"24/Sep/2024:23:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/743da033-3a00-439c-a0ad-021d1bf9b132 HTTP/1.1","status": "200","body_bytes_sent":"1285","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1397f2c701eea053d5ace68ecb755c6"} experiment-1 | {"level":"info","message":"GET /experiments/743da033-3a00-439c-a0ad-021d1bf9b132 200 10ms","method":"GET","requestID":"b1397f2c701eea053d5ace68ecb755c6","responseTime":10,"status":200,"url":"/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw","level":"info","message":"auth send jwt","requestID":"77063cc134fd37e754a62f7f06bb4fe1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"77063cc134fd37e754a62f7f06bb4fe1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/743da033-3a00-439c-a0ad-021d1bf9b132","requestID":"77063cc134fd37e754a62f7f06bb4fe1"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.691639,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"77063cc134fd37e754a62f7f06bb4fe1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"77063cc134fd37e754a62f7f06bb4fe1","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Attempting to finish experiment","requestID":"77063cc134fd37e754a62f7f06bb4fe1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d957c950-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.096207,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d957c950-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222288,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OH0.TLducqyugAfuzixmaDnfnrmJnXze8CJmOVTzBPTraIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d957c950-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","device":"3d5b518b-5fb1-40ba-ad77-0009c4b54f69","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} gateway-1 | {"time_local":"24/Sep/2024:23:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/772e4516-ae79-4034-8eac-70091b415eee?id=72cb5412-5b3d-4cac-a44b-6354367f889c HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.151","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"77e1c7e2cd32420c80343f04a903fd9e"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"72cb5412-5b3d-4cac-a44b-6354367f889c\" in room \"http://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee\""} gateway-1 | {"time_local":"24/Sep/2024:23:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/772e4516-ae79-4034-8eac-70091b415eee?id=467191bb-517d-48ec-81ed-1e3ada98c201 HTTP/1.1","status": "101","body_bytes_sent":"874","request_time":"0.152","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e10f25910f2b709d3c18cb24dd5b2da8"} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"72cb5412-5b3d-4cac-a44b-6354367f889c\" from room \"http://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","device":"7885889e-17ac-4518-ab30-37a7146515db","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"467191bb-517d-48ec-81ed-1e3ada98c201\" in room \"http://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"467191bb-517d-48ec-81ed-1e3ada98c201\" from room \"http://localhost/rooms/772e4516-ae79-4034-8eac-70091b415eee\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"337b1593-132c-44a0-bb47-7413dc4bb53f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.0144126} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"237724058e44ee91f50daf6de6cb7da0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f3cdaa9-cdd4-4ecb-babc-e405a959cddb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.0145664} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"237724058e44ee91f50daf6de6cb7da0","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"d957c950-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e57b6d42ceaa204a08367c2ea6f3ae53","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e"}}},"level":"info","message":"received a callback","requestID":"237724058e44ee91f50daf6de6cb7da0"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e57b6d42ceaa204a08367c2ea6f3ae53","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e"}}},"level":"info","message":"received a callback","requestID":"e57b6d42ceaa204a08367c2ea6f3ae53"} device-1 | {"data":{"peerconnection":"0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d957c950-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e 204 36ms","method":"DELETE","requestID":"d957c950-7ad0-11ef-9247-9909de679d1e","responseTime":36,"status":204,"url":"/peerconnections/0a9cf1bc-1cc8-4397-9ca8-b1889615fd8e"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69'"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"},"level":"info","message":"Successfully finished experiment","requestID":"77063cc134fd37e754a62f7f06bb4fe1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d95fb890-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7885889e-17ac-4518-ab30-37a7146515db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f745e63d-09e5-4cc2-af97-03402b8a2a4d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.0543427} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.820205,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d95fb890-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db","object_type":"device","rebac_allow":false,"scope_allow":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":"d95fb890-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d95fb890-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/7885889e-17ac-4518-ab30-37a7146515db/signaling 200 11ms","method":"POST","requestID":"d95fb890-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/7885889e-17ac-4518-ab30-37a7146515db/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F743da033-3a00-439c-a0ad-021d1bf9b132': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F743da033-3a00-439c-a0ad-021d1bf9b132","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"d5b0300d-ebb2-4f05-a3f6-8ceb8e568c52","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.060581} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35624841-0128-40dd-94dd-65f641241948","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.0607898} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"77063cc134fd37e754a62f7f06bb4fe1","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d961b460-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d5b518b-5fb1-40ba-ad77-0009c4b54f69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"926d4aa4-cabd-4d96-a9e9-c97760d717f5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.0671132} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.623548,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d961b460-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d961b460-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d961b460-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/signaling 200 9ms","method":"POST","requestID":"d961b460-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/3d5b518b-5fb1-40ba-ad77-0009c4b54f69/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/743da033-3a00-439c-a0ad-021d1bf9b132","requestID":"77063cc134fd37e754a62f7f06bb4fe1"} gateway-1 | {"time_local":"24/Sep/2024:23:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/743da033-3a00-439c-a0ad-021d1bf9b132 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77063cc134fd37e754a62f7f06bb4fe1"} experiment-1 | {"level":"info","message":"DELETE /experiments/743da033-3a00-439c-a0ad-021d1bf9b132 204 148ms","method":"DELETE","requestID":"77063cc134fd37e754a62f7f06bb4fe1","responseTime":148,"status":204,"url":"/experiments/743da033-3a00-439c-a0ad-021d1bf9b132"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"237724058e44ee91f50daf6de6cb7da0","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"237724058e44ee91f50daf6de6cb7da0"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"e57b6d42ceaa204a08367c2ea6f3ae53"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"e57b6d42ceaa204a08367c2ea6f3ae53","responseTime":121,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OX0.YbGCJVdCivpVsKskfqLFXGe1qf_enGbQlY1HZEBgVR8","level":"info","message":"auth send jwt","requestID":"70c011ac83481cbc6392e611acd070d0"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"70c011ac83481cbc6392e611acd070d0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"70c011ac83481cbc6392e611acd070d0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:09Z"} gateway-1 | {"time_local":"24/Sep/2024:23:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1745","request_time":"0.649","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4d4177f67bc16b72ce31d2eb62066342"} gateway-1 | {"time_local":"24/Sep/2024:23:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1744","request_time":"0.661","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9393fb4c5a9b529a51738d81aedf8573"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.854721,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"70c011ac83481cbc6392e611acd070d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222289,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OX0.YbGCJVdCivpVsKskfqLFXGe1qf_enGbQlY1HZEBgVR8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"70c011ac83481cbc6392e611acd070d0","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/3d5b518b-5fb1-40ba-ad77-0009c4b54f69' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7885889e-17ac-4518-ab30-37a7146515db' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"edab5bd8-a726-41b3-9da6-dedb334f6581","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.1685734} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"70c011ac83481cbc6392e611acd070d0","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11f1a46c-85b7-479d-ac03-70859645c1bc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.1732528} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"70c011ac83481cbc6392e611acd070d0","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a2d408c4-5964-4b7a-a99a-b55d118f7d39","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.1845648} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93793055-fb9b-4c24-8de5-775ddc53a58f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.1846275} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"70c011ac83481cbc6392e611acd070d0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.184503644Z"}]},"request_id":"d65a751c-2c43-4de3-8bdc-9c66ef89bcd3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.1882322} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"70c011ac83481cbc6392e611acd070d0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"70c011ac83481cbc6392e611acd070d0"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"70c011ac83481cbc6392e611acd070d0","responseTime":46,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70c011ac83481cbc6392e611acd070d0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OX0.YbGCJVdCivpVsKskfqLFXGe1qf_enGbQlY1HZEBgVR8","level":"info","message":"auth send jwt","requestID":"8495d4e639644d8e476a1b35f7e1c2eb"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8495d4e639644d8e476a1b35f7e1c2eb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8495d4e639644d8e476a1b35f7e1c2eb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.678112,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8495d4e639644d8e476a1b35f7e1c2eb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222289,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OX0.YbGCJVdCivpVsKskfqLFXGe1qf_enGbQlY1HZEBgVR8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8495d4e639644d8e476a1b35f7e1c2eb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6fdb5fe8-680f-4ac2-8eab-b8f610afed11","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.211363} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8495d4e639644d8e476a1b35f7e1c2eb","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"098915e4-2611-444e-9bb8-8c3886ddbf43","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.2155745} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8495d4e639644d8e476a1b35f7e1c2eb","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"f8d1161d-5a4c-49b8-a2d4-6c5f27b96708","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.230091} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d664704c-e6cb-4e0e-b557-794be4e67358","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.2302268} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"8495d4e639644d8e476a1b35f7e1c2eb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.230049137Z"}]},"request_id":"c3329e24-032f-4f10-9f01-f3dc9960b895","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.2344103} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8495d4e639644d8e476a1b35f7e1c2eb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8495d4e639644d8e476a1b35f7e1c2eb"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"8495d4e639644d8e476a1b35f7e1c2eb","responseTime":40,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8495d4e639644d8e476a1b35f7e1c2eb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OX0.YbGCJVdCivpVsKskfqLFXGe1qf_enGbQlY1HZEBgVR8","level":"info","message":"auth send jwt","requestID":"e5520d256c272d6711a5b16ee394c37b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e5520d256c272d6711a5b16ee394c37b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e5520d256c272d6711a5b16ee394c37b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.057811,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e5520d256c272d6711a5b16ee394c37b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222289,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OX0.YbGCJVdCivpVsKskfqLFXGe1qf_enGbQlY1HZEBgVR8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e5520d256c272d6711a5b16ee394c37b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.230049137Z"}]},"request_id":"ddb286d3-bdff-4f00-b764-95332c68da36","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.7275474} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e5520d256c272d6711a5b16ee394c37b","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e49c2f24-9d54-455a-bf9a-199a78d93b9e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.7320967} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e5520d256c272d6711a5b16ee394c37b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.230049137Z"}]},"request_id":"95ed32e5-f972-4397-b15c-b386e86ab364","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222289.7454417} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e5520d256c272d6711a5b16ee394c37b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e5520d256c272d6711a5b16ee394c37b"} device-1 | {"level":"info","message":"PATCH /devices/6526debe-34d9-412f-88bb-7eea6f5790ed 200 34ms","method":"PATCH","requestID":"e5520d256c272d6711a5b16ee394c37b","responseTime":34,"status":200,"url":"/devices/6526debe-34d9-412f-88bb-7eea6f5790ed"} gateway-1 | {"time_local":"24/Sep/2024:23:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6526debe-34d9-412f-88bb-7eea6f5790ed HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"e5520d256c272d6711a5b16ee394c37b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OX0.YbGCJVdCivpVsKskfqLFXGe1qf_enGbQlY1HZEBgVR8","level":"info","message":"auth send jwt","requestID":"8c3b5d7fac689a0cc5f127395fae9129"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8c3b5d7fac689a0cc5f127395fae9129","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8c3b5d7fac689a0cc5f127395fae9129"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.380148,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c3b5d7fac689a0cc5f127395fae9129","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222289,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI4OX0.YbGCJVdCivpVsKskfqLFXGe1qf_enGbQlY1HZEBgVR8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8c3b5d7fac689a0cc5f127395fae9129","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8c3b5d7fac689a0cc5f127395fae9129"} gateway-1 | {"time_local":"24/Sep/2024:23:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6526debe-34d9-412f-88bb-7eea6f5790ed/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"8c3b5d7fac689a0cc5f127395fae9129"} device-1 | {"level":"info","message":"POST /devices/6526debe-34d9-412f-88bb-7eea6f5790ed/websocket 200 20ms","method":"POST","requestID":"8c3b5d7fac689a0cc5f127395fae9129","responseTime":20,"status":200,"url":"/devices/6526debe-34d9-412f-88bb-7eea6f5790ed/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4c0c70e628373551d4d523aac19e654b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4c0c70e628373551d4d523aac19e654b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/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":"4c0c70e628373551d4d523aac19e654b"} device-1 | {"level":"info","message":"OPTIONS /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/websocket 200 1ms","method":"OPTIONS","requestID":"4c0c70e628373551d4d523aac19e654b","responseTime":1,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s","level":"info","message":"auth send jwt","requestID":"7405b52620a45aa02d4c4287352a5f64"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7405b52620a45aa02d4c4287352a5f64","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7405b52620a45aa02d4c4287352a5f64"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.318455,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7405b52620a45aa02d4c4287352a5f64","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7405b52620a45aa02d4c4287352a5f64","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7405b52620a45aa02d4c4287352a5f64"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/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":"7405b52620a45aa02d4c4287352a5f64"} device-1 | {"level":"info","message":"POST /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/websocket 200 24ms","method":"POST","requestID":"7405b52620a45aa02d4c4287352a5f64","responseTime":24,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b63d94328da8502e14a392c741c27c7c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b63d94328da8502e14a392c741c27c7c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"b63d94328da8502e14a392c741c27c7c"} device-1 | {"level":"info","message":"OPTIONS /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b? 200 1ms","method":"OPTIONS","requestID":"b63d94328da8502e14a392c741c27c7c","responseTime":1,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s","level":"info","message":"auth send jwt","requestID":"88cdd3adf814783b83af8727d4c97e3e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88cdd3adf814783b83af8727d4c97e3e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"88cdd3adf814783b83af8727d4c97e3e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.347374,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"88cdd3adf814783b83af8727d4c97e3e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"88cdd3adf814783b83af8727d4c97e3e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.184503644Z"}]},"request_id":"bba629ee-c716-4199-a728-5d4335c119df","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.336402} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"88cdd3adf814783b83af8727d4c97e3e","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab35b9c2-f97e-4b0b-b754-8f7573844396","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.345561} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"88cdd3adf814783b83af8727d4c97e3e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.184503644Z"}]},"request_id":"d1661d36-4e93-4a28-a094-cea530ef532d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.3600912} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"88cdd3adf814783b83af8727d4c97e3e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"88cdd3adf814783b83af8727d4c97e3e"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.052","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"88cdd3adf814783b83af8727d4c97e3e"} device-1 | {"level":"info","message":"PATCH /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b? 200 46ms","method":"PATCH","requestID":"88cdd3adf814783b83af8727d4c97e3e","responseTime":46,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s","level":"info","message":"auth send jwt","requestID":"2c2d9e4632d5468a8adbacc6743f5f2f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2c2d9e4632d5468a8adbacc6743f5f2f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2c2d9e4632d5468a8adbacc6743f5f2f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.302207,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2c2d9e4632d5468a8adbacc6743f5f2f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2c2d9e4632d5468a8adbacc6743f5f2f","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.184503644Z"}]},"request_id":"a7b90941-c192-454b-be3d-88d9e800c291","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.3922696} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2c2d9e4632d5468a8adbacc6743f5f2f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2c2d9e4632d5468a8adbacc6743f5f2f"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c2d9e4632d5468a8adbacc6743f5f2f"} device-1 | {"level":"info","message":"GET /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b? 200 17ms","method":"GET","requestID":"2c2d9e4632d5468a8adbacc6743f5f2f","responseTime":17,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s","level":"info","message":"auth send jwt","requestID":"4c7e225f37ed469c46ccfbd80a7630ce"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4c7e225f37ed469c46ccfbd80a7630ce","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4c7e225f37ed469c46ccfbd80a7630ce"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.167691,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4c7e225f37ed469c46ccfbd80a7630ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4c7e225f37ed469c46ccfbd80a7630ce","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.230049137Z"}]},"request_id":"14dc0164-ecf2-453f-bf5b-073c27705247","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.4175124} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"4c7e225f37ed469c46ccfbd80a7630ce","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4c7e225f37ed469c46ccfbd80a7630ce"} device-1 | {"level":"info","message":"GET /devices/6526debe-34d9-412f-88bb-7eea6f5790ed? 200 18ms","method":"GET","requestID":"4c7e225f37ed469c46ccfbd80a7630ce","responseTime":18,"status":200,"url":"/devices/6526debe-34d9-412f-88bb-7eea6f5790ed?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6526debe-34d9-412f-88bb-7eea6f5790ed? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4c7e225f37ed469c46ccfbd80a7630ce"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s","level":"info","message":"auth send jwt","requestID":"471b6994f37bfd34713a99e39f36bc00"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"471b6994f37bfd34713a99e39f36bc00","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"471b6994f37bfd34713a99e39f36bc00"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.341664,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"471b6994f37bfd34713a99e39f36bc00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"471b6994f37bfd34713a99e39f36bc00","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Attempting to run experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Attempting to book experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Successfully booked experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dad122e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dad17100-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.083541,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dad122e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dad122e0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.95064,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dad17100-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dad17100-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.184503644Z"}]},"request_id":"d91c610e-dff6-42b1-a400-579d8c68447d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.479879} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dad122e0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.230049137Z"}]},"request_id":"9e264548-925b-442b-b829-23a575f68e04","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.4813666} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dad17100-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dad122e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b? 200 16ms","method":"GET","requestID":"dad122e0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dad17100-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/6526debe-34d9-412f-88bb-7eea6f5790ed? 200 14ms","method":"GET","requestID":"dad17100-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/6526debe-34d9-412f-88bb-7eea6f5790ed?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Setting up experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Successfully locked booking for experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Attempting to update booking for experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Successfully updated booking for experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Successfully set up experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dadabfd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dadb0df0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Successfully running experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dadb5c10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.661908,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.511822,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dadabfd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dadabfd0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dadb0df0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"dadb0df0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Received request.","req_id":1458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.184503644Z"}]},"request_id":"f4cd1fe7-0fc2-4078-885e-abcfb4a563dd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.5491962} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"dadabfd0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.230049137Z"}]},"request_id":"dc9c2dea-11f7-4b7e-a6f3-7dabbb394c26","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.5521305} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c2b7f2d-ba37-4ee3-90b5-2b943927b7e6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.5530252} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"dadb0df0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Sent response.","req_id":1458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.369532,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dadb5c10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","method":"POST","requestID":"dadb5c10-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee72b85b-2c06-4227-b74d-65d7cc4a71a3#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee72b85b-2c06-4227-b74d-65d7cc4a71a3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"b36a4046-079e-4c99-bc76-91a0e878213c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.562273} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca789664-ef2d-430b-9aad-636ad1e5533d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.562537} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dadabfd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b? 200 31ms","method":"GET","requestID":"dadabfd0-7ad0-11ef-9247-9909de679d1e","responseTime":31,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"471b6994f37bfd34713a99e39f36bc00","responseTime":27,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dadb0df0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/6526debe-34d9-412f-88bb-7eea6f5790ed? 200 31ms","method":"GET","requestID":"dadb0df0-7ad0-11ef-9247-9909de679d1e","responseTime":31,"status":200,"url":"/devices/6526debe-34d9-412f-88bb-7eea6f5790ed?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dadb5c10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/signaling 200 30ms","method":"POST","requestID":"dadb5c10-7ad0-11ef-9247-9909de679d1e","responseTime":30,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dae12870-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dae19da0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6052f61e-ed2a-47a3-9ba6-d540729a4fba","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.5830152} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"471b6994f37bfd34713a99e39f36bc00"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.560698,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1216","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"471b6994f37bfd34713a99e39f36bc00"} experiment-1 | {"level":"info","message":"POST /experiments? 201 153ms","method":"POST","requestID":"471b6994f37bfd34713a99e39f36bc00","responseTime":153,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dae12870-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","object_type":"device","rebac_allow":false,"scope_allow":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":"dae12870-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c247dc5d-0114-4234-8f54-486aebd11f09","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.5865245} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.029017,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dae19da0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","object_type":"device","rebac_allow":false,"scope_allow":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":"dae19da0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dae12870-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/signaling 200 14ms","method":"POST","requestID":"dae12870-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s","level":"info","message":"auth send jwt","requestID":"273439bdfaec799c66f7a5a421a3ee4f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"273439bdfaec799c66f7a5a421a3ee4f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dae3c080-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"273439bdfaec799c66f7a5a421a3ee4f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dae19da0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6526debe-34d9-412f-88bb-7eea6f5790ed/signaling 200 18ms","method":"POST","requestID":"dae19da0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/6526debe-34d9-412f-88bb-7eea6f5790ed/signaling"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b9aeec3-b269-4a05-97c4-374b2bab192c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.5977633} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.501389,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937356,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dae3c080-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","object_type":"device","rebac_allow":false,"scope_allow":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":"dae3c080-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"273439bdfaec799c66f7a5a421a3ee4f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"273439bdfaec799c66f7a5a421a3ee4f","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dae3c080-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6526debe-34d9-412f-88bb-7eea6f5790ed/signaling 200 11ms","method":"POST","requestID":"dae3c080-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/6526debe-34d9-412f-88bb-7eea6f5790ed/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.184503644Z"}]},"request_id":"0254aa40-58d4-4adb-b081-6b79cfae935e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.6037517} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"273439bdfaec799c66f7a5a421a3ee4f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dae5e360-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dae60a70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"273439bdfaec799c66f7a5a421a3ee4f"} device-1 | {"level":"info","message":"GET /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b? 200 16ms","method":"GET","requestID":"273439bdfaec799c66f7a5a421a3ee4f","responseTime":16,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"273439bdfaec799c66f7a5a421a3ee4f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.216878,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dae5e360-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dae5e360-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.053673,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dae60a70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dae60a70-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s","level":"info","message":"auth send jwt","requestID":"1242c7c77b241c1dcb56d2f1ea2c9c63"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1242c7c77b241c1dcb56d2f1ea2c9c63","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.184503644Z"}]},"request_id":"b3bb0687-385d-4288-8b4a-50d31cb0fd04","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.614791} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1242c7c77b241c1dcb56d2f1ea2c9c63"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dae5e360-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.230049137Z"}]},"request_id":"ca65a251-96f8-4752-a19b-b3a8bd10fad0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.6161854} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dae60a70-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.261457,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1242c7c77b241c1dcb56d2f1ea2c9c63","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1242c7c77b241c1dcb56d2f1ea2c9c63","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dae5e360-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b? 200 17ms","method":"GET","requestID":"dae5e360-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dae60a70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/6526debe-34d9-412f-88bb-7eea6f5790ed? 200 17ms","method":"GET","requestID":"dae60a70-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/6526debe-34d9-412f-88bb-7eea6f5790ed?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:09.230049137Z"}]},"request_id":"7e2d2c33-373f-427a-9835-7becdda6d4c4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.6244583} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Building connection plan","requestID":"471b6994f37bfd34713a99e39f36bc00"} 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":"77993927-211c-465d-81be-b358a852862c"},{"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":"51a6cabe-abc8-48df-868f-58d3f096329f"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"b12bc080-4111-4923-9e1c-0768a373f076"}]},"level":"info","message":"Built pairwise service configurations","requestID":"471b6994f37bfd34713a99e39f36bc00"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1242c7c77b241c1dcb56d2f1ea2c9c63","responseTime":3,"status":200,"url":"/relations/query"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"dae8f0a0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"dae8f0a0-7ad0-11ef-a772-4d02dbd671ac"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1242c7c77b241c1dcb56d2f1ea2c9c63"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"dae8f0a0-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} device-1 | {"level":"info","message":"GET /devices/6526debe-34d9-412f-88bb-7eea6f5790ed? 200 12ms","method":"GET","requestID":"1242c7c77b241c1dcb56d2f1ea2c9c63","responseTime":12,"status":200,"url":"/devices/6526debe-34d9-412f-88bb-7eea6f5790ed?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6526debe-34d9-412f-88bb-7eea6f5790ed? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1242c7c77b241c1dcb56d2f1ea2c9c63"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/9110a521-ba57-42bb-a6ad-953856fa4f31?id=701403d1-0d49-4ca2-a54b-705515d9fe70","ws://localhost/rooms/9110a521-ba57-42bb-a6ad-953856fa4f31?id=9d9e97d5-8154-455c-9a65-eb30f6372673"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"471b6994f37bfd34713a99e39f36bc00"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"dae98ce0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.134601,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dae98ce0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dae98ce0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"cfc9158a-07d5-46dd-b500-bb3fedb60a92","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.6435437} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2eabb48d-9e0b-43a5-9b80-dabcc78f3199","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.6438386} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"dae98ce0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"dae98ce0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"dae98ce0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5'","requestID":"dae98ce0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5'","requestID":"dae98ce0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"dae98ce0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 28ms","method":"POST","requestID":"dae98ce0-7ad0-11ef-9247-9909de679d1e","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"dae98ce0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a74c74df-890f-47c1-85a7-9198140475e5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"daef8050-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"701403d1-0d49-4ca2-a54b-705515d9fe70\" in room \"http://localhost/rooms/9110a521-ba57-42bb-a6ad-953856fa4f31\"","requestID":"daef8050-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"daef8050-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f7cf34a4d9f9a3f91fc40ed09b2af644","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f7cf34a4d9f9a3f91fc40ed09b2af644","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"daeff580-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"9d9e97d5-8154-455c-9a65-eb30f6372673\" in room \"http://localhost/rooms/9110a521-ba57-42bb-a6ad-953856fa4f31\"","requestID":"daeff580-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"daeff580-7ad0-11ef-a772-4d02dbd671ac"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5"}}},"level":"info","message":"received a callback","requestID":"f7cf34a4d9f9a3f91fc40ed09b2af644"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"701403d1-0d49-4ca2-a54b-705515d9fe70\" in room \"http://localhost/rooms/9110a521-ba57-42bb-a6ad-953856fa4f31\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"701403d1-0d49-4ca2-a54b-705515d9fe70\" in room \"http://localhost/rooms/9110a521-ba57-42bb-a6ad-953856fa4f31\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"701403d1-0d49-4ca2-a54b-705515d9fe70\" in room \"http://localhost/rooms/9110a521-ba57-42bb-a6ad-953856fa4f31\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"701403d1-0d49-4ca2-a54b-705515d9fe70\" in room \"http://localhost/rooms/9110a521-ba57-42bb-a6ad-953856fa4f31\""} device-1 | {"data":{"peerconnection":"a74c74df-890f-47c1-85a7-9198140475e5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"f7cf34a4d9f9a3f91fc40ed09b2af644","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"f7cf34a4d9f9a3f91fc40ed09b2af644"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"471b6994f37bfd34713a99e39f36bc00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"daf3c610-7ad0-11ef-9247-9909de679d1e"} device-1 | {"data":{"peerconnection":"a74c74df-890f-47c1-85a7-9198140475e5","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6dee1360-b5a8-417f-b328-c248a7d6cb18","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.7026892} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.164573,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"daf3c610-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"daf3c610-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a74c74df-890f-47c1-85a7-9198140475e5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"daf3c610-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/signaling 200 16ms","method":"POST","requestID":"daf3c610-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ba95244c2a99b21591496a6192dcccc0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ba95244c2a99b21591496a6192dcccc0","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"daf6ac40-7ad0-11ef-9247-9909de679d1e"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5"}}},"level":"info","message":"received a callback","requestID":"ba95244c2a99b21591496a6192dcccc0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3e3a8bb-81ba-4691-b14d-bc8d8e8248df","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.7214856} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.841016,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"daf6ac40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","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":"getPeerconnectionsByPeerconnectionId called","requestID":"daf7bdb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"daf6ac40-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"daf6ac40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6526debe-34d9-412f-88bb-7eea6f5790ed/signaling 200 11ms","method":"POST","requestID":"daf6ac40-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/6526debe-34d9-412f-88bb-7eea6f5790ed/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa74c74df-890f-47c1-85a7-9198140475e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"007d44ed-8438-4279-8bf0-ad7eb8a508cb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.7280233} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.309327,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"daf7bdb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5","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":"daf7bdb0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"daf7bdb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/a74c74df-890f-47c1-85a7-9198140475e5 200 9ms","method":"GET","requestID":"daf7bdb0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"ba95244c2a99b21591496a6192dcccc0","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"ba95244c2a99b21591496a6192dcccc0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dafb6730-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"baf9c423-886c-46b6-a3a8-acd380c2e62d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.7514596} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.272006,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dafb6730-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","object_type":"device","rebac_allow":false,"scope_allow":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":"dafb6730-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dafb6730-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6526debe-34d9-412f-88bb-7eea6f5790ed/signaling 200 8ms","method":"POST","requestID":"dafb6730-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/6526debe-34d9-412f-88bb-7eea6f5790ed/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dafcedd0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c964f91e-d19c-4b19-bc8f-5d9f04352a36","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.76124} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.096315,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dafcedd0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","object_type":"device","rebac_allow":false,"scope_allow":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":"dafcedd0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dafcedd0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/signaling 200 8ms","method":"POST","requestID":"dafcedd0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s","level":"info","message":"auth send jwt","requestID":"c3c30e732dd5eb53194802e1bbd372b3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c3c30e732dd5eb53194802e1bbd372b3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3","requestID":"c3c30e732dd5eb53194802e1bbd372b3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.738347,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c3c30e732dd5eb53194802e1bbd372b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c3c30e732dd5eb53194802e1bbd372b3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3","requestID":"c3c30e732dd5eb53194802e1bbd372b3"} experiment-1 | {"level":"info","message":"GET /experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3 200 12ms","method":"GET","requestID":"c3c30e732dd5eb53194802e1bbd372b3","responseTime":12,"status":200,"url":"/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3 HTTP/1.1","status": "200","body_bytes_sent":"1289","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3c30e732dd5eb53194802e1bbd372b3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s","level":"info","message":"auth send jwt","requestID":"e2a099c5ba372736eca1600b60a945d7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e2a099c5ba372736eca1600b60a945d7","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3","requestID":"e2a099c5ba372736eca1600b60a945d7"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.636906,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e2a099c5ba372736eca1600b60a945d7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e2a099c5ba372736eca1600b60a945d7","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Attempting to finish experiment","requestID":"e2a099c5ba372736eca1600b60a945d7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"db055240-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.032252,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"db055240-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"db055240-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/9110a521-ba57-42bb-a6ad-953856fa4f31?id=701403d1-0d49-4ca2-a54b-705515d9fe70 HTTP/1.1","status": "101","body_bytes_sent":"436","request_time":"0.157","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"33c425a0dcfde91e465c08e3745cedf8"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"701403d1-0d49-4ca2-a54b-705515d9fe70\" in room \"http://localhost/rooms/9110a521-ba57-42bb-a6ad-953856fa4f31\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"701403d1-0d49-4ca2-a54b-705515d9fe70\" from room \"http://localhost/rooms/9110a521-ba57-42bb-a6ad-953856fa4f31\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5","device":"e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/9110a521-ba57-42bb-a6ad-953856fa4f31?id=9d9e97d5-8154-455c-9a65-eb30f6372673 HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.156","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"659996f4e36180e539ced175229fc3fc"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5' to 'http://localhost/callbacks/experiment'"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"9d9e97d5-8154-455c-9a65-eb30f6372673\" in room \"http://localhost/rooms/9110a521-ba57-42bb-a6ad-953856fa4f31\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"9d9e97d5-8154-455c-9a65-eb30f6372673\" from room \"http://localhost/rooms/9110a521-ba57-42bb-a6ad-953856fa4f31\""} device-1 | {"data":{"peerconnection":"a74c74df-890f-47c1-85a7-9198140475e5","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8dc6dc2db830b3645d264bd1d72b506b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8dc6dc2db830b3645d264bd1d72b506b","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa74c74df-890f-47c1-85a7-9198140475e5': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa74c74df-890f-47c1-85a7-9198140475e5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"b2f7a0ad-90a6-45ec-927f-9f3bb310bab9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.8306642} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8595778-d509-4a4c-9af6-8c2dbec6b066","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.830998} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c36c1e40abaabc0fecb2441644e5836b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c36c1e40abaabc0fecb2441644e5836b","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5"}}},"level":"info","message":"received a callback","requestID":"8dc6dc2db830b3645d264bd1d72b506b"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"db055240-7ad0-11ef-9247-9909de679d1e","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5"}}},"level":"info","message":"received a callback","requestID":"c36c1e40abaabc0fecb2441644e5836b"} device-1 | {"data":{"peerconnection":"a74c74df-890f-47c1-85a7-9198140475e5","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"db055240-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/a74c74df-890f-47c1-85a7-9198140475e5 204 41ms","method":"DELETE","requestID":"db055240-7ad0-11ef-9247-9909de679d1e","responseTime":41,"status":204,"url":"/peerconnections/a74c74df-890f-47c1-85a7-9198140475e5"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"},"level":"info","message":"Successfully finished experiment","requestID":"e2a099c5ba372736eca1600b60a945d7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"db0ea110-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6526debe-34d9-412f-88bb-7eea6f5790ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0fe43612-46ef-45e9-b54c-beb2e278ba00","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.8806508} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.085327,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"db0ea110-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed","object_type":"device","rebac_allow":false,"scope_allow":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":"db0ea110-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"db0ea110-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6526debe-34d9-412f-88bb-7eea6f5790ed/signaling 200 13ms","method":"POST","requestID":"db0ea110-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/6526debe-34d9-412f-88bb-7eea6f5790ed/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee72b85b-2c06-4227-b74d-65d7cc4a71a3': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee72b85b-2c06-4227-b74d-65d7cc4a71a3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"bc303553-7758-41a7-ad7d-2624af89eba7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.8877523} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af452f54-2a16-4aa4-a2ab-7b9842e492f2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.8880277} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"db111210-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"e2a099c5ba372736eca1600b60a945d7","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c23a26e-d079-49bb-bdd8-c4554778534c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.894354} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.529917,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"db111210-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b","object_type":"device","rebac_allow":false,"scope_allow":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":"db111210-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"db111210-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/signaling 200 10ms","method":"POST","requestID":"db111210-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3","requestID":"e2a099c5ba372736eca1600b60a945d7"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e2a099c5ba372736eca1600b60a945d7"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1744","request_time":"2.182","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"e2fc3262d97e05328a0c77ad16be20d4"} experiment-1 | {"level":"info","message":"DELETE /experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3 204 162ms","method":"DELETE","requestID":"e2a099c5ba372736eca1600b60a945d7","responseTime":162,"status":204,"url":"/experiments/ee72b85b-2c06-4227-b74d-65d7cc4a71a3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"8dc6dc2db830b3645d264bd1d72b506b","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"8dc6dc2db830b3645d264bd1d72b506b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s","level":"info","message":"auth send jwt","requestID":"9c0de0321f22bc55c755c407b8926203"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9c0de0321f22bc55c755c407b8926203","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"c36c1e40abaabc0fecb2441644e5836b","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"c36c1e40abaabc0fecb2441644e5836b"} device-1 | {"level":"info","message":"postDevices called","requestID":"9c0de0321f22bc55c755c407b8926203"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.107241,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:11Z"} gateway-1 | {"time_local":"24/Sep/2024:23:58:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2069","request_time":"0.700","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1fee563e1227d6089b2b8f91dde9cc9c"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9c0de0321f22bc55c755c407b8926203","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222291,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5MX0.6jSLr_3TmTwWkOFSdEqp1vU2IHNU6S9xWj-IREDdF1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9c0de0321f22bc55c755c407b8926203","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6526debe-34d9-412f-88bb-7eea6f5790ed' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e2fb3ec1-2f82-41ae-bf6b-8697d20c3c2b' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"11ef28be-9ca2-47e4-b1d7-6537884cd821","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.9913151} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9c0de0321f22bc55c755c407b8926203","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea7c5837-4225-463e-a614-1d4ca6501ff3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222291.9964702} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9c0de0321f22bc55c755c407b8926203","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"46e5a2c0-02ff-4a99-9d98-444e74180348","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222292.0073311} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5097b7fc-22ca-4f51-9c6b-f894df567384","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222292.007431} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"9c0de0321f22bc55c755c407b8926203","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.007292671Z"}]},"request_id":"4090f6ab-f790-4cd0-bbda-a115f1add49e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222292.0116153} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9c0de0321f22bc55c755c407b8926203","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9c0de0321f22bc55c755c407b8926203"} gateway-1 | {"time_local":"24/Sep/2024:23:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c0de0321f22bc55c755c407b8926203"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"9c0de0321f22bc55c755c407b8926203","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5Mn0.cX2V2CbnQkVGH7LaRB2jKjMxNao7VaNt_26uiytzpdk","level":"info","message":"auth send jwt","requestID":"c484e17d6cc53df86acd7a87a4f01a33"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c484e17d6cc53df86acd7a87a4f01a33","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c484e17d6cc53df86acd7a87a4f01a33"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:12Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.799388,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c484e17d6cc53df86acd7a87a4f01a33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222292,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5Mn0.cX2V2CbnQkVGH7LaRB2jKjMxNao7VaNt_26uiytzpdk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c484e17d6cc53df86acd7a87a4f01a33","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"18ddf42f-6c37-4f81-8f54-08fb2aa2664a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222292.040367} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c484e17d6cc53df86acd7a87a4f01a33","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6558770c-ddd7-40d6-98ab-0f13c708c004","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222292.0449104} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c484e17d6cc53df86acd7a87a4f01a33","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"06e9f370-30bd-4974-8e0b-20508c660369","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222292.0561483} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e40dadd5-6c00-4e73-8357-557abaa4ee0a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222292.0562692} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"c484e17d6cc53df86acd7a87a4f01a33","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.056117061Z"}]},"request_id":"61e24a11-7d6d-4037-8e1d-10c73ac05f0c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222292.0599365} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c484e17d6cc53df86acd7a87a4f01a33","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c484e17d6cc53df86acd7a87a4f01a33"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"c484e17d6cc53df86acd7a87a4f01a33","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c484e17d6cc53df86acd7a87a4f01a33"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5Mn0.cX2V2CbnQkVGH7LaRB2jKjMxNao7VaNt_26uiytzpdk","level":"info","message":"auth send jwt","requestID":"79df0200ee61c2aecef9b486e9e5220a"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"79df0200ee61c2aecef9b486e9e5220a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"79df0200ee61c2aecef9b486e9e5220a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:12Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.575662,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"79df0200ee61c2aecef9b486e9e5220a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222292,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5Mn0.cX2V2CbnQkVGH7LaRB2jKjMxNao7VaNt_26uiytzpdk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"79df0200ee61c2aecef9b486e9e5220a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.056117061Z"}]},"request_id":"b1c4fe93-f74c-4297-b720-668f491b33f6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222292.54748} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"79df0200ee61c2aecef9b486e9e5220a","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49964640-7d4f-42c8-8aef-cd13dfaed1d8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222292.5522113} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"79df0200ee61c2aecef9b486e9e5220a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.056117061Z"}]},"request_id":"385fcc92-998c-41f5-ae0d-60ee7747ce96","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222292.5668929} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"79df0200ee61c2aecef9b486e9e5220a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"79df0200ee61c2aecef9b486e9e5220a"} gateway-1 | {"time_local":"24/Sep/2024:23:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/81548b5d-56d8-4cb8-901d-1ab09197773a HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"79df0200ee61c2aecef9b486e9e5220a"} device-1 | {"level":"info","message":"PATCH /devices/81548b5d-56d8-4cb8-901d-1ab09197773a 200 36ms","method":"PATCH","requestID":"79df0200ee61c2aecef9b486e9e5220a","responseTime":36,"status":200,"url":"/devices/81548b5d-56d8-4cb8-901d-1ab09197773a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5Mn0.cX2V2CbnQkVGH7LaRB2jKjMxNao7VaNt_26uiytzpdk","level":"info","message":"auth send jwt","requestID":"1fc7efca1ad8f059c774a5c074ba8a42"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1fc7efca1ad8f059c774a5c074ba8a42","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1fc7efca1ad8f059c774a5c074ba8a42"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:12Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.160739,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1fc7efca1ad8f059c774a5c074ba8a42","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222292,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5Mn0.cX2V2CbnQkVGH7LaRB2jKjMxNao7VaNt_26uiytzpdk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1fc7efca1ad8f059c774a5c074ba8a42","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1fc7efca1ad8f059c774a5c074ba8a42"} gateway-1 | {"time_local":"24/Sep/2024:23:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/81548b5d-56d8-4cb8-901d-1ab09197773a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"1fc7efca1ad8f059c774a5c074ba8a42"} device-1 | {"level":"info","message":"POST /devices/81548b5d-56d8-4cb8-901d-1ab09197773a/websocket 200 21ms","method":"POST","requestID":"1fc7efca1ad8f059c774a5c074ba8a42","responseTime":21,"status":200,"url":"/devices/81548b5d-56d8-4cb8-901d-1ab09197773a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"113068bf34ea9927b1ab6c123782dca7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"113068bf34ea9927b1ab6c123782dca7","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8268b100-6b41-499d-9b15-e254e6578bad/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":"113068bf34ea9927b1ab6c123782dca7"} device-1 | {"level":"info","message":"OPTIONS /devices/8268b100-6b41-499d-9b15-e254e6578bad/websocket 200 1ms","method":"OPTIONS","requestID":"113068bf34ea9927b1ab6c123782dca7","responseTime":1,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY","level":"info","message":"auth send jwt","requestID":"28d7d9c496bd28fbd25c340b1d0f1fd3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"28d7d9c496bd28fbd25c340b1d0f1fd3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"28d7d9c496bd28fbd25c340b1d0f1fd3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930769,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"28d7d9c496bd28fbd25c340b1d0f1fd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"28d7d9c496bd28fbd25c340b1d0f1fd3","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"28d7d9c496bd28fbd25c340b1d0f1fd3"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8268b100-6b41-499d-9b15-e254e6578bad/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":"28d7d9c496bd28fbd25c340b1d0f1fd3"} device-1 | {"level":"info","message":"POST /devices/8268b100-6b41-499d-9b15-e254e6578bad/websocket 200 29ms","method":"POST","requestID":"28d7d9c496bd28fbd25c340b1d0f1fd3","responseTime":29,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"700e4972c9eb88c8ab5e70ec1d817700","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"700e4972c9eb88c8ab5e70ec1d817700","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8268b100-6b41-499d-9b15-e254e6578bad? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"700e4972c9eb88c8ab5e70ec1d817700"} device-1 | {"level":"info","message":"OPTIONS /devices/8268b100-6b41-499d-9b15-e254e6578bad? 200 1ms","method":"OPTIONS","requestID":"700e4972c9eb88c8ab5e70ec1d817700","responseTime":1,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY","level":"info","message":"auth send jwt","requestID":"53f9f8094578fb57c4a4a4a40b9695ff"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"53f9f8094578fb57c4a4a4a40b9695ff","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"53f9f8094578fb57c4a4a4a40b9695ff"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.45637,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"53f9f8094578fb57c4a4a4a40b9695ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"53f9f8094578fb57c4a4a4a40b9695ff","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.007292671Z"}]},"request_id":"b6618305-7d77-4762-bdfe-2d6012eb998a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.1990106} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"53f9f8094578fb57c4a4a4a40b9695ff","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffc306de-6b10-41fe-877d-ade6f0b6173e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.2090893} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"53f9f8094578fb57c4a4a4a40b9695ff","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.007292671Z"}]},"request_id":"764f8335-852f-4dbb-9a03-4a364ebd5e36","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.2190042} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"53f9f8094578fb57c4a4a4a40b9695ff","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"53f9f8094578fb57c4a4a4a40b9695ff"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8268b100-6b41-499d-9b15-e254e6578bad? HTTP/1.1","status": "200","body_bytes_sent":"1007","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":"53f9f8094578fb57c4a4a4a40b9695ff"} device-1 | {"level":"info","message":"PATCH /devices/8268b100-6b41-499d-9b15-e254e6578bad? 200 40ms","method":"PATCH","requestID":"53f9f8094578fb57c4a4a4a40b9695ff","responseTime":40,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY","level":"info","message":"auth send jwt","requestID":"0061c1ea7cc3ed2ff4893225bd75232b"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0061c1ea7cc3ed2ff4893225bd75232b","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0061c1ea7cc3ed2ff4893225bd75232b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.270283,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0061c1ea7cc3ed2ff4893225bd75232b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"0061c1ea7cc3ed2ff4893225bd75232b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.007292671Z"}]},"request_id":"22d3fa59-ae3c-4321-878f-a2429d5c1528","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.2507935} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0061c1ea7cc3ed2ff4893225bd75232b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0061c1ea7cc3ed2ff4893225bd75232b"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8268b100-6b41-499d-9b15-e254e6578bad? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0061c1ea7cc3ed2ff4893225bd75232b"} device-1 | {"level":"info","message":"GET /devices/8268b100-6b41-499d-9b15-e254e6578bad? 200 18ms","method":"GET","requestID":"0061c1ea7cc3ed2ff4893225bd75232b","responseTime":18,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY","level":"info","message":"auth send jwt","requestID":"b1c5fe4873dd914c622c1df7bdc50adf"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b1c5fe4873dd914c622c1df7bdc50adf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b1c5fe4873dd914c622c1df7bdc50adf"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.222057,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b1c5fe4873dd914c622c1df7bdc50adf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b1c5fe4873dd914c622c1df7bdc50adf","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.056117061Z"}]},"request_id":"5c18f4f9-3be0-4128-91c4-e00674715d46","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.2754111} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b1c5fe4873dd914c622c1df7bdc50adf","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b1c5fe4873dd914c622c1df7bdc50adf"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/81548b5d-56d8-4cb8-901d-1ab09197773a? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1c5fe4873dd914c622c1df7bdc50adf"} device-1 | {"level":"info","message":"GET /devices/81548b5d-56d8-4cb8-901d-1ab09197773a? 200 18ms","method":"GET","requestID":"b1c5fe4873dd914c622c1df7bdc50adf","responseTime":18,"status":200,"url":"/devices/81548b5d-56d8-4cb8-901d-1ab09197773a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY","level":"info","message":"auth send jwt","requestID":"091696c13054943e8d2fdd21343320ad"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"091696c13054943e8d2fdd21343320ad","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"091696c13054943e8d2fdd21343320ad"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.353658,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"091696c13054943e8d2fdd21343320ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"091696c13054943e8d2fdd21343320ad","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Attempting to run experiment","requestID":"091696c13054943e8d2fdd21343320ad"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Attempting to book experiment","requestID":"091696c13054943e8d2fdd21343320ad"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Successfully booked experiment","requestID":"091696c13054943e8d2fdd21343320ad"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc853b80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc856290-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.632425,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dc853b80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dc853b80-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955053,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dc856290-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dc856290-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.007292671Z"}]},"request_id":"605b6db8-ef7d-468d-b55d-f5ba6587f0d3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.3365202} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dc853b80-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.056117061Z"}]},"request_id":"a7299869-284b-4696-afb7-ecaa689ea4c5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.3376646} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dc856290-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc853b80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/8268b100-6b41-499d-9b15-e254e6578bad? 200 16ms","method":"GET","requestID":"dc853b80-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc856290-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/81548b5d-56d8-4cb8-901d-1ab09197773a? 200 16ms","method":"GET","requestID":"dc856290-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/81548b5d-56d8-4cb8-901d-1ab09197773a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Setting up experiment","requestID":"091696c13054943e8d2fdd21343320ad"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"091696c13054943e8d2fdd21343320ad"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Successfully locked booking for experiment","requestID":"091696c13054943e8d2fdd21343320ad"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"091696c13054943e8d2fdd21343320ad"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"091696c13054943e8d2fdd21343320ad"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Attempting to update booking for experiment","requestID":"091696c13054943e8d2fdd21343320ad"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Successfully updated booking for experiment","requestID":"091696c13054943e8d2fdd21343320ad"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Successfully set up experiment","requestID":"091696c13054943e8d2fdd21343320ad"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc8f74b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc8fc2d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc9010f0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Successfully running experiment","requestID":"091696c13054943e8d2fdd21343320ad"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.78685,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dc8f74b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc8f74b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.443505,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Received request.","req_id":1490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dc8fc2d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"dc8fc2d0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"861d9ae8-136e-4afa-a645-05d3ae5d3f24","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.4057999} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Sent response.","req_id":1490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.289983,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.007292671Z"}]},"request_id":"c67a516b-43e9-4933-bec0-a4fc83f883ba","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.4097636} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dc9010f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","object_type":"device","rebac_allow":false,"scope_allow":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":"dc9010f0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc9010f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8268b100-6b41-499d-9b15-e254e6578bad/signaling 200 16ms","method":"POST","requestID":"dc9010f0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"dc8f74b0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.056117061Z"}]},"request_id":"23a0034e-e595-4073-89ae-2c172cd55a66","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.4145958} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dc8fc2d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc931e30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc8f74b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/8268b100-6b41-499d-9b15-e254e6578bad? 200 27ms","method":"GET","requestID":"dc8f74b0-7ad0-11ef-9247-9909de679d1e","responseTime":27,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc8fc2d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/81548b5d-56d8-4cb8-901d-1ab09197773a? 200 25ms","method":"GET","requestID":"dc8fc2d0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":200,"url":"/devices/81548b5d-56d8-4cb8-901d-1ab09197773a?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0db554ba-02bf-4888-92bf-17fe9699c23e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.4238834} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc82ce8da-909b-4207-9710-dfa7830bd773#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc82ce8da-909b-4207-9710-dfa7830bd773","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"5c0a9b56-1012-438f-8905-c30eb0e4dabb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.424283} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b642c0f-59ad-416d-aff6-98feb1958f6b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.424591} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc93e180-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.692391,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dc931e30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","object_type":"device","rebac_allow":false,"scope_allow":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":"dc931e30-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"091696c13054943e8d2fdd21343320ad","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc931e30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/81548b5d-56d8-4cb8-901d-1ab09197773a/signaling 200 12ms","method":"POST","requestID":"dc931e30-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/81548b5d-56d8-4cb8-901d-1ab09197773a/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b947e674-c9cf-4084-84de-abb9ddba1a65","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.432396} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.997691,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dc93e180-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","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/c82ce8da-909b-4207-9710-dfa7830bd773","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"091696c13054943e8d2fdd21343320ad"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dc93e180-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1216","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"091696c13054943e8d2fdd21343320ad"} experiment-1 | {"level":"info","message":"POST /experiments? 201 146ms","method":"POST","requestID":"091696c13054943e8d2fdd21343320ad","responseTime":146,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc93e180-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8268b100-6b41-499d-9b15-e254e6578bad/signaling 200 12ms","method":"POST","requestID":"dc93e180-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY","level":"info","message":"auth send jwt","requestID":"f024f98045431995bf3bd303f944152a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f024f98045431995bf3bd303f944152a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc962b70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f024f98045431995bf3bd303f944152a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.640704,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f024f98045431995bf3bd303f944152a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f024f98045431995bf3bd303f944152a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bffbe081-e442-47c7-b9d8-69f4cdfaa774","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.444233} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.638674,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dc962b70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","object_type":"device","rebac_allow":false,"scope_allow":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":"dc962b70-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc962b70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/81548b5d-56d8-4cb8-901d-1ab09197773a/signaling 200 10ms","method":"POST","requestID":"dc962b70-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/81548b5d-56d8-4cb8-901d-1ab09197773a/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.007292671Z"}]},"request_id":"a6cfe2e2-aac2-49ff-be6b-b9e5fc66e1cb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.449011} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"091696c13054943e8d2fdd21343320ad"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f024f98045431995bf3bd303f944152a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc980030-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc982740-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f024f98045431995bf3bd303f944152a"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8268b100-6b41-499d-9b15-e254e6578bad? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f024f98045431995bf3bd303f944152a"} device-1 | {"level":"info","message":"GET /devices/8268b100-6b41-499d-9b15-e254e6578bad? 200 15ms","method":"GET","requestID":"f024f98045431995bf3bd303f944152a","responseTime":15,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710202,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dc980030-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc980030-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.81792,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dc982740-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dc982740-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY","level":"info","message":"auth send jwt","requestID":"156052c8808c7a5a6a6a4d7c8f9bdf60"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"156052c8808c7a5a6a6a4d7c8f9bdf60","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"156052c8808c7a5a6a6a4d7c8f9bdf60"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.007292671Z"}]},"request_id":"9575daf3-1f66-4ccc-83b8-79dd1a0e8b8a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.461171} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dc980030-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.056117061Z"}]},"request_id":"20616179-8824-47be-a699-773b82402bbe","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.4625125} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc980030-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"dc982740-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626252,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} device-1 | {"level":"info","message":"GET /devices/8268b100-6b41-499d-9b15-e254e6578bad? 200 15ms","method":"GET","requestID":"dc980030-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"156052c8808c7a5a6a6a4d7c8f9bdf60","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"156052c8808c7a5a6a6a4d7c8f9bdf60","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc982740-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/81548b5d-56d8-4cb8-901d-1ab09197773a? 200 18ms","method":"GET","requestID":"dc982740-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/81548b5d-56d8-4cb8-901d-1ab09197773a?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:12.056117061Z"}]},"request_id":"dbc4a699-a566-4a68-8aa4-ee8f8abbd20d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.471131} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Building connection plan","requestID":"091696c13054943e8d2fdd21343320ad"} 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":"114a7f56-6d27-483a-a64d-90226dc02085"},{"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":"836b4a5e-b0a4-4791-8c57-63074555926d"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"5faed9af-07fb-4411-9f87-0112c581dac6"}]},"level":"info","message":"Built pairwise service configurations","requestID":"091696c13054943e8d2fdd21343320ad"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"156052c8808c7a5a6a6a4d7c8f9bdf60","responseTime":3,"status":200,"url":"/relations/query"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"dc9b5b90-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"dc9b5b90-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"dc9b5b90-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"156052c8808c7a5a6a6a4d7c8f9bdf60"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/81548b5d-56d8-4cb8-901d-1ab09197773a? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"156052c8808c7a5a6a6a4d7c8f9bdf60"} device-1 | {"level":"info","message":"GET /devices/81548b5d-56d8-4cb8-901d-1ab09197773a? 200 13ms","method":"GET","requestID":"156052c8808c7a5a6a6a4d7c8f9bdf60","responseTime":13,"status":200,"url":"/devices/81548b5d-56d8-4cb8-901d-1ab09197773a?"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb?id=05a610bf-f34a-4997-bf95-b55b6bf47f4a","ws://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb?id=2ffe9ae3-52db-48d6-9015-a2ae9680d55a"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"091696c13054943e8d2fdd21343320ad"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"dc9bd0c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.853542,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dc9bd0c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dc9bd0c0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"b976ca3a-29c5-43e3-a4a4-0fd616263fc1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.4868999} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86d4b805-6dc0-4f88-96ef-92e12f87e354","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.4871843} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"dc9bd0c0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"dc9bd0c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"dc9bd0c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048'","requestID":"dc9bd0c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048'","requestID":"dc9bd0c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"dc9bd0c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 24ms","method":"POST","requestID":"dc9bd0c0-7ad0-11ef-9247-9909de679d1e","responseTime":24,"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":"dc9bd0c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3bfcd476-77bf-4e93-8169-3e955c85b048","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"dca0d9d0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"05a610bf-f34a-4997-bf95-b55b6bf47f4a\" in room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\"","requestID":"dca0d9d0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"dca0d9d0-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"788417ffd429a854db3352d8ff8db505","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"788417ffd429a854db3352d8ff8db505","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"dca127f0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"2ffe9ae3-52db-48d6-9015-a2ae9680d55a\" in room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\"","requestID":"dca127f0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"dca127f0-7ad0-11ef-a772-4d02dbd671ac"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048"}}},"level":"info","message":"received a callback","requestID":"788417ffd429a854db3352d8ff8db505"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"05a610bf-f34a-4997-bf95-b55b6bf47f4a\" in room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"05a610bf-f34a-4997-bf95-b55b6bf47f4a\" in room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"05a610bf-f34a-4997-bf95-b55b6bf47f4a\" in room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"05a610bf-f34a-4997-bf95-b55b6bf47f4a\" in room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"05a610bf-f34a-4997-bf95-b55b6bf47f4a\" in room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"05a610bf-f34a-4997-bf95-b55b6bf47f4a\" in room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"05a610bf-f34a-4997-bf95-b55b6bf47f4a\" in room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"05a610bf-f34a-4997-bf95-b55b6bf47f4a\" in room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\""} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"788417ffd429a854db3352d8ff8db505","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"788417ffd429a854db3352d8ff8db505"} device-1 | {"data":{"peerconnection":"3bfcd476-77bf-4e93-8169-3e955c85b048","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"091696c13054943e8d2fdd21343320ad"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dca546a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"data":{"peerconnection":"3bfcd476-77bf-4e93-8169-3e955c85b048","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23cd93c9-340a-44ee-bd99-b43ab73fa3cf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.5433834} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.554174,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dca546a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","object_type":"device","rebac_allow":false,"scope_allow":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":"dca546a0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3bfcd476-77bf-4e93-8169-3e955c85b048","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dca546a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8268b100-6b41-499d-9b15-e254e6578bad/signaling 200 14ms","method":"POST","requestID":"dca546a0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9b20915305e38b2e44882428db6760a3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9b20915305e38b2e44882428db6760a3","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dca7b7a0-7ad0-11ef-9247-9909de679d1e"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048"}}},"level":"info","message":"received a callback","requestID":"9b20915305e38b2e44882428db6760a3"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aea34278-8574-4bdd-9e3f-354c7deba2ef","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.558621} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"dca87af0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.37245,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dca7b7a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dca7b7a0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dca7b7a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/81548b5d-56d8-4cb8-901d-1ab09197773a/signaling 200 9ms","method":"POST","requestID":"dca7b7a0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/81548b5d-56d8-4cb8-901d-1ab09197773a/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3bfcd476-77bf-4e93-8169-3e955c85b048","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28bfff00-3c90-4d49-a6b3-47553aee5000","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.5635378} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.537063,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dca87af0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048","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":"dca87af0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"dca87af0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048 200 8ms","method":"GET","requestID":"dca87af0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"9b20915305e38b2e44882428db6760a3","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"9b20915305e38b2e44882428db6760a3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dcabaf40-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ef97519-3576-4a7a-93c3-f242b64f8914","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.584929} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.362739,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dcabaf40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","object_type":"device","rebac_allow":false,"scope_allow":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":"dcabaf40-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dcabaf40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/81548b5d-56d8-4cb8-901d-1ab09197773a/signaling 200 8ms","method":"POST","requestID":"dcabaf40-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/81548b5d-56d8-4cb8-901d-1ab09197773a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dcad35e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b979b520-f560-4f28-b6ef-eacec6e6ec81","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.594305} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.27253,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dcad35e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dcad35e0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dcad35e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8268b100-6b41-499d-9b15-e254e6578bad/signaling 200 8ms","method":"POST","requestID":"dcad35e0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY","level":"info","message":"auth send jwt","requestID":"3e5742bb7659d93e2529db62798f4de6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3e5742bb7659d93e2529db62798f4de6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c82ce8da-909b-4207-9710-dfa7830bd773","requestID":"3e5742bb7659d93e2529db62798f4de6"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.669622,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"3e5742bb7659d93e2529db62798f4de6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3e5742bb7659d93e2529db62798f4de6","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c82ce8da-909b-4207-9710-dfa7830bd773","requestID":"3e5742bb7659d93e2529db62798f4de6"} experiment-1 | {"level":"info","message":"GET /experiments/c82ce8da-909b-4207-9710-dfa7830bd773 200 11ms","method":"GET","requestID":"3e5742bb7659d93e2529db62798f4de6","responseTime":11,"status":200,"url":"/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c82ce8da-909b-4207-9710-dfa7830bd773 HTTP/1.1","status": "200","body_bytes_sent":"1289","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e5742bb7659d93e2529db62798f4de6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY","level":"info","message":"auth send jwt","requestID":"28440e0f66a9023f38a19d63f72bd7b5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"28440e0f66a9023f38a19d63f72bd7b5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c82ce8da-909b-4207-9710-dfa7830bd773","requestID":"28440e0f66a9023f38a19d63f72bd7b5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.706963,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"28440e0f66a9023f38a19d63f72bd7b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"28440e0f66a9023f38a19d63f72bd7b5","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Attempting to finish experiment","requestID":"28440e0f66a9023f38a19d63f72bd7b5"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"dcb74800-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.275665,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dcb74800-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dcb74800-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb?id=05a610bf-f34a-4997-bf95-b55b6bf47f4a HTTP/1.1","status": "101","body_bytes_sent":"872","request_time":"0.160","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"8334d58447b02c92d7eb7c9f99aef103"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"05a610bf-f34a-4997-bf95-b55b6bf47f4a\" in room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"05a610bf-f34a-4997-bf95-b55b6bf47f4a\" from room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048","device":"8268b100-6b41-499d-9b15-e254e6578bad","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb?id=2ffe9ae3-52db-48d6-9015-a2ae9680d55a HTTP/1.1","status": "101","body_bytes_sent":"2","request_time":"0.160","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3791928b48918353f2cc94934b951a46"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3bfcd476-77bf-4e93-8169-3e955c85b048","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"2ffe9ae3-52db-48d6-9015-a2ae9680d55a\" in room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"2ffe9ae3-52db-48d6-9015-a2ae9680d55a\" from room \"http://localhost/rooms/afd54c92-3b9d-41bc-a9d5-cd77dbcf77bb\""} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0211d8d77a607a511947f6349eb1268d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0211d8d77a607a511947f6349eb1268d","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1201d1246fd9d1bdbd84e207a9d6f440","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1201d1246fd9d1bdbd84e207a9d6f440","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048"}}},"level":"info","message":"received a callback","requestID":"0211d8d77a607a511947f6349eb1268d"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048"}}},"level":"info","message":"received a callback","requestID":"1201d1246fd9d1bdbd84e207a9d6f440"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3bfcd476-77bf-4e93-8169-3e955c85b048': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3bfcd476-77bf-4e93-8169-3e955c85b048","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"96ba8021-00e6-4680-b713-60a9256544c3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.6777244} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d39f8038-14e1-4d8e-a1dd-87ab2cb8f7f0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.678281} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"dcb74800-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"3bfcd476-77bf-4e93-8169-3e955c85b048","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"dcb74800-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048 204 41ms","method":"DELETE","requestID":"dcb74800-7ad0-11ef-9247-9909de679d1e","responseTime":41,"status":204,"url":"/peerconnections/3bfcd476-77bf-4e93-8169-3e955c85b048"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"},"level":"info","message":"Successfully finished experiment","requestID":"28440e0f66a9023f38a19d63f72bd7b5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dcc021a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81548b5d-56d8-4cb8-901d-1ab09197773a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45460f3e-bcf1-4b12-ba00-6299a3102557","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.7235847} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.164331,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dcc021a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a","object_type":"device","rebac_allow":false,"scope_allow":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":"dcc021a0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dcc021a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/81548b5d-56d8-4cb8-901d-1ab09197773a/signaling 200 15ms","method":"POST","requestID":"dcc021a0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/81548b5d-56d8-4cb8-901d-1ab09197773a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dcc2b9b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc82ce8da-909b-4207-9710-dfa7830bd773': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc82ce8da-909b-4207-9710-dfa7830bd773","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"f1744435-4132-4f2b-b7ad-c264d768d928","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.73495} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46475f78-65df-49a1-8e2e-b9c7747e0f1b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.735185} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8268b100-6b41-499d-9b15-e254e6578bad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8dc94f97-06aa-48d7-a7ab-1e6e05c782db","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.7372887} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"28440e0f66a9023f38a19d63f72bd7b5","responseTime":25,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.15999,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dcc2b9b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dcc2b9b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dcc2b9b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8268b100-6b41-499d-9b15-e254e6578bad/signaling 200 11ms","method":"POST","requestID":"dcc2b9b0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/8268b100-6b41-499d-9b15-e254e6578bad/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c82ce8da-909b-4207-9710-dfa7830bd773","requestID":"28440e0f66a9023f38a19d63f72bd7b5"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c82ce8da-909b-4207-9710-dfa7830bd773 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28440e0f66a9023f38a19d63f72bd7b5"} experiment-1 | {"level":"info","message":"DELETE /experiments/c82ce8da-909b-4207-9710-dfa7830bd773 204 148ms","method":"DELETE","requestID":"28440e0f66a9023f38a19d63f72bd7b5","responseTime":148,"status":204,"url":"/experiments/c82ce8da-909b-4207-9710-dfa7830bd773"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1744","request_time":"2.191","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"fdca72eec1737d81821b3ca192886037"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"0211d8d77a607a511947f6349eb1268d","responseTime":116,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.119","http_referrer":"","http_user_agent":"node-fetch","requestID":"0211d8d77a607a511947f6349eb1268d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"1201d1246fd9d1bdbd84e207a9d6f440","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.120","http_referrer":"","http_user_agent":"node-fetch","requestID":"1201d1246fd9d1bdbd84e207a9d6f440"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY","level":"info","message":"auth send jwt","requestID":"c6a8a76a8cb92ad07b4dbc76bb0f5f67"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c6a8a76a8cb92ad07b4dbc76bb0f5f67","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c6a8a76a8cb92ad07b4dbc76bb0f5f67"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2069","request_time":"0.660","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"afe90d5460f4e13b7a214f9f1208db5e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.911051,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c6a8a76a8cb92ad07b4dbc76bb0f5f67","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c6a8a76a8cb92ad07b4dbc76bb0f5f67","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/81548b5d-56d8-4cb8-901d-1ab09197773a' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"99e64e97-647d-40b1-bb2e-e10ed5f8cb03","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.8190098} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c6a8a76a8cb92ad07b4dbc76bb0f5f67","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8268b100-6b41-499d-9b15-e254e6578bad' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3aa2695-dd9f-48a0-ae05-e41432063312","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.8248496} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c6a8a76a8cb92ad07b4dbc76bb0f5f67","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"1a8be585-feab-46cf-9da3-86c26f74986f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.8364494} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"950223fa-5be7-4d15-8823-bcf77e3dce28","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.8366997} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"c6a8a76a8cb92ad07b4dbc76bb0f5f67","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.836401909Z"}]},"request_id":"439585cb-31fa-4167-a8e7-00029249b710","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.841902} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c6a8a76a8cb92ad07b4dbc76bb0f5f67","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c6a8a76a8cb92ad07b4dbc76bb0f5f67"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c6a8a76a8cb92ad07b4dbc76bb0f5f67"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"c6a8a76a8cb92ad07b4dbc76bb0f5f67","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY","level":"info","message":"auth send jwt","requestID":"31c0e682972b17768426b911dcc8923a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"31c0e682972b17768426b911dcc8923a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"31c0e682972b17768426b911dcc8923a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.735951,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"31c0e682972b17768426b911dcc8923a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222294,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NH0.VVtDPEuLmpDVFVt261jDjDf14DmvThGrcOl69-l1plY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"31c0e682972b17768426b911dcc8923a","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"02ec8ccb-165f-4ca0-836d-c8382c3bc4fb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.86523} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"31c0e682972b17768426b911dcc8923a","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25547042-fa6a-43eb-8593-78dc92dc0b2a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.8712947} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"31c0e682972b17768426b911dcc8923a","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"ad64fb29-5363-4bd3-9fe3-f909309c0ed0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.8876257} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76f24ccd-aa4c-4634-a4ce-1e60667c3ea4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.8877892} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"31c0e682972b17768426b911dcc8923a","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.887591100Z"}]},"request_id":"c71197e0-d148-4f4d-a9d9-f9aa12dbe5bc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222294.8926198} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"31c0e682972b17768426b911dcc8923a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"31c0e682972b17768426b911dcc8923a"} gateway-1 | {"time_local":"24/Sep/2024:23:58:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"31c0e682972b17768426b911dcc8923a"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"31c0e682972b17768426b911dcc8923a","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NX0.Vz8ElvgvgTtdVAJdEEejadkxrh0lRfQ6yS44TpWj2pg","level":"info","message":"auth send jwt","requestID":"c3ac36bba326c7953ba3c9620519b16e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c3ac36bba326c7953ba3c9620519b16e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c3ac36bba326c7953ba3c9620519b16e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67381,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"c3ac36bba326c7953ba3c9620519b16e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222295,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NX0.Vz8ElvgvgTtdVAJdEEejadkxrh0lRfQ6yS44TpWj2pg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c3ac36bba326c7953ba3c9620519b16e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.836401909Z"}]},"request_id":"a372efe7-99ff-417e-ae6f-e54bb7234e19","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222295.3911147} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"c3ac36bba326c7953ba3c9620519b16e","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9be858d-c9dd-4969-894a-751c42a59a85","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222295.4014926} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"c3ac36bba326c7953ba3c9620519b16e","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.836401909Z"}]},"request_id":"c8ef6167-6072-457b-a94d-dc6627870aec","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222295.4118953} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c3ac36bba326c7953ba3c9620519b16e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c3ac36bba326c7953ba3c9620519b16e"} device-1 | {"level":"info","message":"PATCH /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60 200 43ms","method":"PATCH","requestID":"c3ac36bba326c7953ba3c9620519b16e","responseTime":43,"status":200,"url":"/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60"} gateway-1 | {"time_local":"24/Sep/2024:23:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"c3ac36bba326c7953ba3c9620519b16e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NX0.Vz8ElvgvgTtdVAJdEEejadkxrh0lRfQ6yS44TpWj2pg","level":"info","message":"auth send jwt","requestID":"a44efb524b0899ea9a7d11cf7b0078fe"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a44efb524b0899ea9a7d11cf7b0078fe","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a44efb524b0899ea9a7d11cf7b0078fe"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169177,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a44efb524b0899ea9a7d11cf7b0078fe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222295,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5NX0.Vz8ElvgvgTtdVAJdEEejadkxrh0lRfQ6yS44TpWj2pg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a44efb524b0899ea9a7d11cf7b0078fe","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a44efb524b0899ea9a7d11cf7b0078fe"} gateway-1 | {"time_local":"24/Sep/2024:23:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"a44efb524b0899ea9a7d11cf7b0078fe"} device-1 | {"level":"info","message":"POST /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/websocket 200 20ms","method":"POST","requestID":"a44efb524b0899ea9a7d11cf7b0078fe","responseTime":20,"status":200,"url":"/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0a1d088eba82b9743b6db99e04081c72","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0a1d088eba82b9743b6db99e04081c72","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/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":"0a1d088eba82b9743b6db99e04081c72"} device-1 | {"level":"info","message":"OPTIONS /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/websocket 200 1ms","method":"OPTIONS","requestID":"0a1d088eba82b9743b6db99e04081c72","responseTime":1,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5Nn0.qVTqA1OO9bfCdcTtT6e3IeVJmcd1uK_9MecWjFf-fsQ","level":"info","message":"auth send jwt","requestID":"93b2ba842328404b20744c9b540c4680"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"93b2ba842328404b20744c9b540c4680","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"93b2ba842328404b20744c9b540c4680"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.14381,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"93b2ba842328404b20744c9b540c4680","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222296,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5Nn0.qVTqA1OO9bfCdcTtT6e3IeVJmcd1uK_9MecWjFf-fsQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"93b2ba842328404b20744c9b540c4680","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"93b2ba842328404b20744c9b540c4680"} device-1 | {"level":"info","message":"POST /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/websocket 200 23ms","method":"POST","requestID":"93b2ba842328404b20744c9b540c4680","responseTime":23,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:58:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"93b2ba842328404b20744c9b540c4680"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d4112728c92d23a7a5b74326a6dd3c7f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d4112728c92d23a7a5b74326a6dd3c7f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"d4112728c92d23a7a5b74326a6dd3c7f"} device-1 | {"level":"info","message":"OPTIONS /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d? 200 1ms","method":"OPTIONS","requestID":"d4112728c92d23a7a5b74326a6dd3c7f","responseTime":1,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5Nn0.qVTqA1OO9bfCdcTtT6e3IeVJmcd1uK_9MecWjFf-fsQ","level":"info","message":"auth send jwt","requestID":"fbb3f537b92e9343ee3109668e74307c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fbb3f537b92e9343ee3109668e74307c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"fbb3f537b92e9343ee3109668e74307c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.152659,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"fbb3f537b92e9343ee3109668e74307c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222296,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5Nn0.qVTqA1OO9bfCdcTtT6e3IeVJmcd1uK_9MecWjFf-fsQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fbb3f537b92e9343ee3109668e74307c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.887591100Z"}]},"request_id":"b52fd315-39d9-4655-b5b8-26039a9a2771","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.0169575} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fbb3f537b92e9343ee3109668e74307c","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9bff2776-90c6-4f2f-8704-0273a97c91c9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.024933} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"fbb3f537b92e9343ee3109668e74307c","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.887591100Z"}]},"request_id":"1caa9612-4b41-4414-a4ad-8ed6eeb1e31d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.036525} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fbb3f537b92e9343ee3109668e74307c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"fbb3f537b92e9343ee3109668e74307c"} device-1 | {"level":"info","message":"PATCH /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d? 200 38ms","method":"PATCH","requestID":"fbb3f537b92e9343ee3109668e74307c","responseTime":38,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fbb3f537b92e9343ee3109668e74307c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM","level":"info","message":"auth send jwt","requestID":"2cac45c32e4e9c220ac754f578f41d53"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2cac45c32e4e9c220ac754f578f41d53","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2cac45c32e4e9c220ac754f578f41d53"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.253092,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2cac45c32e4e9c220ac754f578f41d53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2cac45c32e4e9c220ac754f578f41d53","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.836401909Z"}]},"request_id":"34ef0691-70b2-42cc-9e50-bd303a088403","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.0655649} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2cac45c32e4e9c220ac754f578f41d53","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2cac45c32e4e9c220ac754f578f41d53"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2cac45c32e4e9c220ac754f578f41d53"} device-1 | {"level":"info","message":"GET /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60? 200 18ms","method":"GET","requestID":"2cac45c32e4e9c220ac754f578f41d53","responseTime":18,"status":200,"url":"/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM","level":"info","message":"auth send jwt","requestID":"815cd0957a6d0e42e441d61dd2cf74f1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"815cd0957a6d0e42e441d61dd2cf74f1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"815cd0957a6d0e42e441d61dd2cf74f1"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891172,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"815cd0957a6d0e42e441d61dd2cf74f1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"815cd0957a6d0e42e441d61dd2cf74f1","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.887591100Z"}]},"request_id":"beefeaf2-1a61-4179-a9c6-9934eaa717b0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.09297} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"815cd0957a6d0e42e441d61dd2cf74f1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"815cd0957a6d0e42e441d61dd2cf74f1"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"815cd0957a6d0e42e441d61dd2cf74f1"} device-1 | {"level":"info","message":"GET /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d? 200 20ms","method":"GET","requestID":"815cd0957a6d0e42e441d61dd2cf74f1","responseTime":20,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM","level":"info","message":"auth send jwt","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4ddef9c1e6418315aef92da0cb79cd66","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.357198,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4ddef9c1e6418315aef92da0cb79cd66","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4ddef9c1e6418315aef92da0cb79cd66","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Attempting to run experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Attempting to book experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Successfully booked experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de33fcf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de344b10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.258291,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de33fcf0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"de33fcf0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.252073,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de344b10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"de344b10-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.836401909Z"}]},"request_id":"f6b777a9-39eb-484c-a64b-114610e5d5d2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.166856} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"de33fcf0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.887591100Z"}]},"request_id":"7662c47c-56de-4bbe-b945-f9fc37ee8ec4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.1697414} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"de344b10-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de33fcf0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60? 200 27ms","method":"GET","requestID":"de33fcf0-7ad0-11ef-9247-9909de679d1e","responseTime":27,"status":200,"url":"/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de344b10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d? 200 26ms","method":"GET","requestID":"de344b10-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Setting up experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Successfully set up experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de3f95b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de3fe3d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de4031f0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Successfully running experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.298834,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de3f95b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"de3f95b0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96298,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Received request.","req_id":1522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Sent response.","req_id":1522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.617342,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de3fe3d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"de3fe3d0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aacc6fd8-b522-4e38-b341-8cf37e5afdf8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.238427} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de4031f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"de4031f0-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de4031f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/signaling 200 18ms","method":"POST","requestID":"de4031f0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.836401909Z"}]},"request_id":"3e6f87a1-865d-43d3-b0b5-94470423d30e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.248717} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"de3f95b0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.887591100Z"}]},"request_id":"44d6ef7f-1f43-4a58-b1fa-9d67004c6b2e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.2507775} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de433f30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"de3fe3d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1415ae32-c73f-406c-a67e-9938a2292723","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.258086} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de3f95b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.716395,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} device-1 | {"level":"info","message":"GET /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60? 200 32ms","method":"GET","requestID":"de3f95b0-7ad0-11ef-9247-9909de679d1e","responseTime":32,"status":200,"url":"/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de3fe3d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de433f30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"GET /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d? 200 32ms","method":"GET","requestID":"de3fe3d0-7ad0-11ef-9247-9909de679d1e","responseTime":32,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d?"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"de433f30-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de453b00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F653cab47-bf2b-4392-b466-d8bc252e95f5#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F653cab47-bf2b-4392-b466-d8bc252e95f5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"f2e55f8e-7d4f-4cf4-b9a3-c57486da203c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.2645154} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ab9667b-7d69-4fd7-9155-7657773eb77d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.2650406} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de433f30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/signaling 200 14ms","method":"POST","requestID":"de433f30-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"4ddef9c1e6418315aef92da0cb79cd66","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6039913b-9bec-42c9-96d8-e718ed858fe6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.2714686} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.419964,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de453b00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","object_type":"device","rebac_allow":false,"scope_allow":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":"de453b00-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} experiment-1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"4ddef9c1e6418315aef92da0cb79cd66","responseTime":169,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1216","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de453b00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/signaling 200 13ms","method":"POST","requestID":"de453b00-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de4784f0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM","level":"info","message":"auth send jwt","requestID":"137ad11a2b13f00f857011d5b810c8b1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"137ad11a2b13f00f857011d5b810c8b1","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"137ad11a2b13f00f857011d5b810c8b1"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e56e3bd-5d67-459b-9176-c09e7a1bbdca","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.2854884} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.501153,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de4784f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","object_type":"device","rebac_allow":false,"scope_allow":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":"de4784f0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.976614,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"137ad11a2b13f00f857011d5b810c8b1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"137ad11a2b13f00f857011d5b810c8b1","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de4784f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/signaling 200 16ms","method":"POST","requestID":"de4784f0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.836401909Z"}]},"request_id":"cf428ded-d142-492f-adae-77d6b0d29025","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.2957792} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"137ad11a2b13f00f857011d5b810c8b1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de4a4410-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de4ab940-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"137ad11a2b13f00f857011d5b810c8b1"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"137ad11a2b13f00f857011d5b810c8b1"} device-1 | {"level":"info","message":"GET /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60? 200 21ms","method":"GET","requestID":"137ad11a2b13f00f857011d5b810c8b1","responseTime":21,"status":200,"url":"/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.071118,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de4a4410-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"de4a4410-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.814671,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de4ab940-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"de4ab940-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM","level":"info","message":"auth send jwt","requestID":"f8bfc8098a8caad85d6b0839726155b7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f8bfc8098a8caad85d6b0839726155b7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f8bfc8098a8caad85d6b0839726155b7"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.836401909Z"}]},"request_id":"49b6f86b-88ef-469d-9110-3262b707a84a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.3113766} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"de4a4410-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.887591100Z"}]},"request_id":"66c3d425-8375-42cc-b83b-7b3dfdbc4d25","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.3128495} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de4a4410-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"de4ab940-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884016,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} device-1 | {"level":"info","message":"GET /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60? 200 19ms","method":"GET","requestID":"de4a4410-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60?"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f8bfc8098a8caad85d6b0839726155b7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f8bfc8098a8caad85d6b0839726155b7","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de4ab940-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d? 200 20ms","method":"GET","requestID":"de4ab940-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:14.887591100Z"}]},"request_id":"03194bb5-25bc-4d9a-b5fe-94fe6308e2c9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.320585} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Building connection plan","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} 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":"4c2065af-e6d2-4234-bdd4-2f24947f4179"},{"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":"290262a2-08f1-4199-b2b3-dba46ec74951"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"33f2b702-ba60-4406-8778-44f60a3228c8"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f8bfc8098a8caad85d6b0839726155b7","responseTime":4,"status":200,"url":"/relations/query"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"de4e14a0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"de4e14a0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 2ms","method":"POST","requestID":"de4e14a0-7ad0-11ef-a772-4d02dbd671ac","responseTime":2,"status":201,"url":"/rooms"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f8bfc8098a8caad85d6b0839726155b7"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/0e2a1420-e6cb-428e-82c3-b62cb3a6939f?id=38818b45-8fe4-4d07-ac04-1695b4001d0b","ws://localhost/rooms/0e2a1420-e6cb-428e-82c3-b62cb3a6939f?id=f92ffc9a-8835-41fe-af13-6a2432560a06"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8bfc8098a8caad85d6b0839726155b7"} device-1 | {"level":"info","message":"GET /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d? 200 15ms","method":"GET","requestID":"f8bfc8098a8caad85d6b0839726155b7","responseTime":15,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"de4eb0e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.857792,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de4eb0e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"de4eb0e0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"b066edfb-35ab-41fc-b53f-805ee3294ede","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.3392398} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5e46d15-23d9-456b-8257-3a224a3f8754","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.3394215} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"de4eb0e0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"de4eb0e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"de4eb0e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb'","requestID":"de4eb0e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb'","requestID":"de4eb0e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"de4eb0e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"de4eb0e0-7ad0-11ef-9247-9909de679d1e","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"de4eb0e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9bbd5689-5b51-431a-976e-562d900294eb","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"de542f20-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"f92ffc9a-8835-41fe-af13-6a2432560a06\" in room \"http://localhost/rooms/0e2a1420-e6cb-428e-82c3-b62cb3a6939f\"","requestID":"de542f20-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"de542f20-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"497047147b36b71c8e3ea9e3ed83b943","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"497047147b36b71c8e3ea9e3ed83b943","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"de54a450-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"38818b45-8fe4-4d07-ac04-1695b4001d0b\" in room \"http://localhost/rooms/0e2a1420-e6cb-428e-82c3-b62cb3a6939f\"","requestID":"de54a450-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"de54a450-7ad0-11ef-a772-4d02dbd671ac"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb"}}},"level":"info","message":"received a callback","requestID":"497047147b36b71c8e3ea9e3ed83b943"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"38818b45-8fe4-4d07-ac04-1695b4001d0b\" in room \"http://localhost/rooms/0e2a1420-e6cb-428e-82c3-b62cb3a6939f\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"38818b45-8fe4-4d07-ac04-1695b4001d0b\" in room \"http://localhost/rooms/0e2a1420-e6cb-428e-82c3-b62cb3a6939f\""} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"497047147b36b71c8e3ea9e3ed83b943","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"497047147b36b71c8e3ea9e3ed83b943"} device-1 | {"data":{"peerconnection":"9bbd5689-5b51-431a-976e-562d900294eb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4ddef9c1e6418315aef92da0cb79cd66"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de5874e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"data":{"peerconnection":"9bbd5689-5b51-431a-976e-562d900294eb","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc74d69f-0e1b-483e-bbcb-7dab38b5a325","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.396114} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.347618,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de5874e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","object_type":"device","rebac_allow":false,"scope_allow":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":"de5874e0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9bbd5689-5b51-431a-976e-562d900294eb","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de5874e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/signaling 200 15ms","method":"POST","requestID":"de5874e0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5ab3f1512e35d8e9b3f4ce84682da1d8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5ab3f1512e35d8e9b3f4ce84682da1d8","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de5b3400-7ad0-11ef-9247-9909de679d1e"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb"}}},"level":"info","message":"received a callback","requestID":"5ab3f1512e35d8e9b3f4ce84682da1d8"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2457b320-056c-44af-9c21-d14ba238c99d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.4133925} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.759056,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de5b3400-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","object_type":"device","rebac_allow":false,"scope_allow":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":"de5b3400-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"de5c4570-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de5b3400-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} device-1 | {"level":"info","message":"POST /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/signaling 200 12ms","method":"POST","requestID":"de5b3400-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9bbd5689-5b51-431a-976e-562d900294eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a302e7b5-e790-4ab7-a39b-3645002c2624","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.4202807} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.0887,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de5c4570-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb","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":"de5c4570-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"de5c4570-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/9bbd5689-5b51-431a-976e-562d900294eb 200 10ms","method":"GET","requestID":"de5c4570-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"5ab3f1512e35d8e9b3f4ce84682da1d8","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ab3f1512e35d8e9b3f4ce84682da1d8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de603d10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4531539d-2711-441b-aeca-c4d08e0bfcea","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.445927} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.414854,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de603d10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"de603d10-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de603d10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/signaling 200 8ms","method":"POST","requestID":"de603d10-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de61c3b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9fe5972-7c8b-4728-98a5-3dfba9057c06","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.4561222} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.594133,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de61c3b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","object_type":"device","rebac_allow":false,"scope_allow":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":"de61c3b0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de61c3b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/signaling 200 9ms","method":"POST","requestID":"de61c3b0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM","level":"info","message":"auth send jwt","requestID":"7d58c160a475bd416c4ae063b643232b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7d58c160a475bd416c4ae063b643232b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/653cab47-bf2b-4392-b466-d8bc252e95f5","requestID":"7d58c160a475bd416c4ae063b643232b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.024544,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7d58c160a475bd416c4ae063b643232b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7d58c160a475bd416c4ae063b643232b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/653cab47-bf2b-4392-b466-d8bc252e95f5","requestID":"7d58c160a475bd416c4ae063b643232b"} experiment-1 | {"level":"info","message":"GET /experiments/653cab47-bf2b-4392-b466-d8bc252e95f5 200 11ms","method":"GET","requestID":"7d58c160a475bd416c4ae063b643232b","responseTime":11,"status":200,"url":"/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/653cab47-bf2b-4392-b466-d8bc252e95f5 HTTP/1.1","status": "200","body_bytes_sent":"1289","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d58c160a475bd416c4ae063b643232b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM","level":"info","message":"auth send jwt","requestID":"96b2fa099c155bc48e6abba8b7118509"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"96b2fa099c155bc48e6abba8b7118509","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/653cab47-bf2b-4392-b466-d8bc252e95f5","requestID":"96b2fa099c155bc48e6abba8b7118509"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.778176,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"96b2fa099c155bc48e6abba8b7118509","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"96b2fa099c155bc48e6abba8b7118509","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Attempting to finish experiment","requestID":"96b2fa099c155bc48e6abba8b7118509"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"de6916b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.791388,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de6916b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"de6916b0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/0e2a1420-e6cb-428e-82c3-b62cb3a6939f?id=f92ffc9a-8835-41fe-af13-6a2432560a06 HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.150","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"433a85d758c315986204d03a01b3ce23"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"f92ffc9a-8835-41fe-af13-6a2432560a06\" in room \"http://localhost/rooms/0e2a1420-e6cb-428e-82c3-b62cb3a6939f\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"f92ffc9a-8835-41fe-af13-6a2432560a06\" from room \"http://localhost/rooms/0e2a1420-e6cb-428e-82c3-b62cb3a6939f\""} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/0e2a1420-e6cb-428e-82c3-b62cb3a6939f?id=38818b45-8fe4-4d07-ac04-1695b4001d0b HTTP/1.1","status": "101","body_bytes_sent":"460","request_time":"0.149","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9070c0a4ec7cdd5e151b5ac435acf28b"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb","device":"d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"38818b45-8fe4-4d07-ac04-1695b4001d0b\" in room \"http://localhost/rooms/0e2a1420-e6cb-428e-82c3-b62cb3a6939f\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"38818b45-8fe4-4d07-ac04-1695b4001d0b\" from room \"http://localhost/rooms/0e2a1420-e6cb-428e-82c3-b62cb3a6939f\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9bbd5689-5b51-431a-976e-562d900294eb","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"df7c5e884bd60b073c698b6d01dfe5be","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"df7c5e884bd60b073c698b6d01dfe5be","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1d01a56324bd3044b5791a533b9c30fa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb"}}},"level":"info","message":"received a callback","requestID":"df7c5e884bd60b073c698b6d01dfe5be"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1d01a56324bd3044b5791a533b9c30fa","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9bbd5689-5b51-431a-976e-562d900294eb': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9bbd5689-5b51-431a-976e-562d900294eb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"ae8a01a4-643b-4d14-80b2-41ba1994d3c8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.5183442} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb"}}},"level":"info","message":"received a callback","requestID":"1d01a56324bd3044b5791a533b9c30fa"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"194f403a-a763-49a2-8a12-186ac9d38a87","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.5187714} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"de6916b0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"9bbd5689-5b51-431a-976e-562d900294eb","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"de6916b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/9bbd5689-5b51-431a-976e-562d900294eb 204 36ms","method":"DELETE","requestID":"de6916b0-7ad0-11ef-9247-9909de679d1e","responseTime":36,"status":204,"url":"/peerconnections/9bbd5689-5b51-431a-976e-562d900294eb"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"},"level":"info","message":"Successfully finished experiment","requestID":"96b2fa099c155bc48e6abba8b7118509"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de717b20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7567b7c-2d68-4188-a5f8-3f0e22da1d0d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3bfafa1b-ed43-4fe1-998b-64fecb938fb1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.5604587} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.927369,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de717b20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d","object_type":"device","rebac_allow":false,"scope_allow":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":"de717b20-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de717b20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/signaling 200 11ms","method":"POST","requestID":"de717b20-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F653cab47-bf2b-4392-b466-d8bc252e95f5': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F653cab47-bf2b-4392-b466-d8bc252e95f5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"1258f2bb-8eeb-4aed-bf58-59ef5f97de08","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.5671551} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"875c4208-ad6f-4397-b35b-f48d2f7aa6de","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.567509} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de7376f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"96b2fa099c155bc48e6abba8b7118509","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb765fa38-ea9a-4d52-a735-5d24b4015f60","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e12e3312-41e0-4a1a-ae40-58f0e0f8ec25","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.5726418} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.747473,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"de7376f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60","object_type":"device","rebac_allow":false,"scope_allow":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":"de7376f0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de7376f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/signaling 200 14ms","method":"POST","requestID":"de7376f0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/653cab47-bf2b-4392-b466-d8bc252e95f5","requestID":"96b2fa099c155bc48e6abba8b7118509"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/653cab47-bf2b-4392-b466-d8bc252e95f5 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96b2fa099c155bc48e6abba8b7118509"} experiment-1 | {"level":"info","message":"DELETE /experiments/653cab47-bf2b-4392-b466-d8bc252e95f5 204 145ms","method":"DELETE","requestID":"96b2fa099c155bc48e6abba8b7118509","responseTime":145,"status":204,"url":"/experiments/653cab47-bf2b-4392-b466-d8bc252e95f5"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1745","request_time":"2.193","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"d8387ca3491908a2e7ccef61ac27afab"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"df7c5e884bd60b073c698b6d01dfe5be","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"df7c5e884bd60b073c698b6d01dfe5be"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"1d01a56324bd3044b5791a533b9c30fa","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"1d01a56324bd3044b5791a533b9c30fa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM","level":"info","message":"auth send jwt","requestID":"9d63a62d316d3d5a86b1029a8cd309ed"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9d63a62d316d3d5a86b1029a8cd309ed","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9d63a62d316d3d5a86b1029a8cd309ed"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2068","request_time":"0.688","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4656a423e17dc96505daf7b32de5128f"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.005567,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9d63a62d316d3d5a86b1029a8cd309ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9d63a62d316d3d5a86b1029a8cd309ed","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b765fa38-ea9a-4d52-a735-5d24b4015f60' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"31e45dfc-c673-4698-9737-9247e6174068","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.662971} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9d63a62d316d3d5a86b1029a8cd309ed","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/d7567b7c-2d68-4188-a5f8-3f0e22da1d0d' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38ba693d-10b4-461e-b834-0bf0caee270b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.6681798} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9d63a62d316d3d5a86b1029a8cd309ed","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"cb1aa275-ae09-457d-8e8b-4be63e6c46c4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.6781409} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ca47e92-4d28-455c-a8bc-0ad9ccb788f5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.6782203} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"9d63a62d316d3d5a86b1029a8cd309ed","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.678089501Z"}]},"request_id":"69c3b38d-6492-4f86-9352-eac9d8c301ae","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.6835117} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9d63a62d316d3d5a86b1029a8cd309ed","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9d63a62d316d3d5a86b1029a8cd309ed"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d63a62d316d3d5a86b1029a8cd309ed"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"9d63a62d316d3d5a86b1029a8cd309ed","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM","level":"info","message":"auth send jwt","requestID":"7ebc904cd8267a09c116e3b854963557"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7ebc904cd8267a09c116e3b854963557","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7ebc904cd8267a09c116e3b854963557"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.781741,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7ebc904cd8267a09c116e3b854963557","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222297,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5N30.5dFfnVFnTBiAOfU-0NdpvEKmjDhu9NgB8s9pEYAKNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7ebc904cd8267a09c116e3b854963557","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aded745c-0742-4d0e-a6ab-d61f2b02c46b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.712364} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ebc904cd8267a09c116e3b854963557","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6035928-e50b-49fc-87dd-cd3d0d737dcc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.7171888} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7ebc904cd8267a09c116e3b854963557","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a2bfecd6-9891-469e-b005-6692fdf0638c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.7292488} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52d46a4b-7c82-4bc2-b4ee-f0c89ca583b3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.7293792} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"7ebc904cd8267a09c116e3b854963557","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.729197692Z"}]},"request_id":"8e5a0f95-efb5-4d18-bf1f-a5a42e0ed270","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222297.7345085} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ebc904cd8267a09c116e3b854963557","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7ebc904cd8267a09c116e3b854963557"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"7ebc904cd8267a09c116e3b854963557","responseTime":46,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ebc904cd8267a09c116e3b854963557"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OH0.6TEj5cf0vP-zpqkp7BWqHI2e67hzZ86bnlfI3L6o0aQ","level":"info","message":"auth send jwt","requestID":"b1cdd2afc602f53fbb5d4b3abbc8771d"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b1cdd2afc602f53fbb5d4b3abbc8771d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b1cdd2afc602f53fbb5d4b3abbc8771d"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127427,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b1cdd2afc602f53fbb5d4b3abbc8771d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222298,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OH0.6TEj5cf0vP-zpqkp7BWqHI2e67hzZ86bnlfI3L6o0aQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b1cdd2afc602f53fbb5d4b3abbc8771d","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.678089501Z"}]},"request_id":"60fbaa84-2c56-499a-a2f1-4a3e935f80aa","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222298.2236397} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b1cdd2afc602f53fbb5d4b3abbc8771d","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3740e6c5-eef7-4068-8673-1681e67464f1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222298.2318149} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b1cdd2afc602f53fbb5d4b3abbc8771d","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.678089501Z"}]},"request_id":"fc408cbe-1794-481a-864a-278acb1139ad","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222298.2470436} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"b1cdd2afc602f53fbb5d4b3abbc8771d","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b1cdd2afc602f53fbb5d4b3abbc8771d"} gateway-1 | {"time_local":"24/Sep/2024:23:58:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"b1cdd2afc602f53fbb5d4b3abbc8771d"} device-1 | {"level":"info","message":"PATCH /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7 200 41ms","method":"PATCH","requestID":"b1cdd2afc602f53fbb5d4b3abbc8771d","responseTime":41,"status":200,"url":"/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OH0.6TEj5cf0vP-zpqkp7BWqHI2e67hzZ86bnlfI3L6o0aQ","level":"info","message":"auth send jwt","requestID":"15d022778bd1e2d6b1a42c176da01566"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"15d022778bd1e2d6b1a42c176da01566","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"15d022778bd1e2d6b1a42c176da01566"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:18Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127665,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"15d022778bd1e2d6b1a42c176da01566","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222298,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OH0.6TEj5cf0vP-zpqkp7BWqHI2e67hzZ86bnlfI3L6o0aQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"15d022778bd1e2d6b1a42c176da01566","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"15d022778bd1e2d6b1a42c176da01566"} device-1 | {"level":"info","message":"POST /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/websocket 200 17ms","method":"POST","requestID":"15d022778bd1e2d6b1a42c176da01566","responseTime":17,"status":200,"url":"/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:58:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"15d022778bd1e2d6b1a42c176da01566"} device-1 | {"level":"info","message":"device 'http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"877ae3f8ff8720abb8e04a3479b388c3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"877ae3f8ff8720abb8e04a3479b388c3","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/websocket 200 1ms","method":"OPTIONS","requestID":"877ae3f8ff8720abb8e04a3479b388c3","responseTime":1,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/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":"877ae3f8ff8720abb8e04a3479b388c3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM","level":"info","message":"auth send jwt","requestID":"529c505fcee71e72516a6bf1e3e20e43"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"529c505fcee71e72516a6bf1e3e20e43","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"529c505fcee71e72516a6bf1e3e20e43"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.264732,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"529c505fcee71e72516a6bf1e3e20e43","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222299,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"529c505fcee71e72516a6bf1e3e20e43","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"529c505fcee71e72516a6bf1e3e20e43"} gateway-1 | {"time_local":"24/Sep/2024:23:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/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":"529c505fcee71e72516a6bf1e3e20e43"} device-1 | {"level":"info","message":"POST /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/websocket 200 24ms","method":"POST","requestID":"529c505fcee71e72516a6bf1e3e20e43","responseTime":24,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2caa7697639d40aa86839055cb6cc731","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2caa7697639d40aa86839055cb6cc731","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"2caa7697639d40aa86839055cb6cc731"} device-1 | {"level":"info","message":"OPTIONS /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b? 200 1ms","method":"OPTIONS","requestID":"2caa7697639d40aa86839055cb6cc731","responseTime":1,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM","level":"info","message":"auth send jwt","requestID":"e68d1f6e3f10e7fe551241ea36510792"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e68d1f6e3f10e7fe551241ea36510792","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e68d1f6e3f10e7fe551241ea36510792"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.220073,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e68d1f6e3f10e7fe551241ea36510792","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222299,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e68d1f6e3f10e7fe551241ea36510792","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.729197692Z"}]},"request_id":"de808d0f-f410-4e82-b81f-7fcf81635b92","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222299.8232896} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e68d1f6e3f10e7fe551241ea36510792","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbec4f5d-39d1-4780-8598-515dc61931d9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222299.8317056} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"e68d1f6e3f10e7fe551241ea36510792","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.729197692Z"}]},"request_id":"eb369851-6c13-4dc5-b457-46ab7caa1af6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222299.8418434} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e68d1f6e3f10e7fe551241ea36510792","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e68d1f6e3f10e7fe551241ea36510792"} device-1 | {"level":"info","message":"PATCH /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b? 200 35ms","method":"PATCH","requestID":"e68d1f6e3f10e7fe551241ea36510792","responseTime":35,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e68d1f6e3f10e7fe551241ea36510792"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM","level":"info","message":"auth send jwt","requestID":"52a8532e844f91677f571ba466de3f04"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"52a8532e844f91677f571ba466de3f04","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"52a8532e844f91677f571ba466de3f04"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.397192,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"52a8532e844f91677f571ba466de3f04","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222299,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"52a8532e844f91677f571ba466de3f04","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.678089501Z"}]},"request_id":"fec88bb1-2b0a-4b19-8675-84758476387e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222299.8727708} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"52a8532e844f91677f571ba466de3f04","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"52a8532e844f91677f571ba466de3f04"} gateway-1 | {"time_local":"24/Sep/2024:23:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"52a8532e844f91677f571ba466de3f04"} device-1 | {"level":"info","message":"GET /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7? 200 23ms","method":"GET","requestID":"52a8532e844f91677f571ba466de3f04","responseTime":23,"status":200,"url":"/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM","level":"info","message":"auth send jwt","requestID":"7b3650f3d9e622b6938aa7f433e70620"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7b3650f3d9e622b6938aa7f433e70620","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7b3650f3d9e622b6938aa7f433e70620"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190765,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7b3650f3d9e622b6938aa7f433e70620","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222299,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7b3650f3d9e622b6938aa7f433e70620","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.729197692Z"}]},"request_id":"7c97bdd6-8ea7-46e1-89ca-2b9ad56023bb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222299.9011405} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7b3650f3d9e622b6938aa7f433e70620","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7b3650f3d9e622b6938aa7f433e70620"} gateway-1 | {"time_local":"24/Sep/2024:23:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b3650f3d9e622b6938aa7f433e70620"} device-1 | {"level":"info","message":"GET /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b? 200 21ms","method":"GET","requestID":"7b3650f3d9e622b6938aa7f433e70620","responseTime":21,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM","level":"info","message":"auth send jwt","requestID":"108953fb21e139ae1944ada5d21b053e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"108953fb21e139ae1944ada5d21b053e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"108953fb21e139ae1944ada5d21b053e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.310044,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"108953fb21e139ae1944ada5d21b053e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222299,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"108953fb21e139ae1944ada5d21b053e","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Attempting to run experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Attempting to book experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Successfully booked experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dfe07470-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dfe0c290-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.594574,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dfe07470-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222299,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dfe07470-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.878763,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dfe0c290-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222299,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dfe0c290-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.678089501Z"}]},"request_id":"fa337c27-a626-43d9-b3e7-971f29428e28","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222299.9683554} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dfe07470-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.729197692Z"}]},"request_id":"bc7de424-0c66-41a4-b281-dec44437faff","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222299.9697475} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dfe0c290-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dfe07470-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7? 200 14ms","method":"GET","requestID":"dfe07470-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dfe0c290-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b? 200 14ms","method":"GET","requestID":"dfe0c290-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Setting up experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Successfully locked booking for experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Attempting to update booking for experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Successfully updated booking for experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Successfully set up experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dfe8b1d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dfe8d8e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dfe92700-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Successfully running experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.085056,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dfe8b1d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222299,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"dfe8b1d0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.51814,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Received request.","req_id":1554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dfe8d8e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222299,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"dfe8d8e0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f1bbab44-c749-4c84-8793-dac74eaac322","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.0282621} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Sent response.","req_id":1554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.544478,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dfe92700-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"dfe92700-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.678089501Z"}]},"request_id":"a397625e-04f4-4d93-a75b-ef22440235fd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.0316827} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"dfe8b1d0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.729197692Z"}]},"request_id":"dfa0c4b2-343c-4932-8554-2d9fb5a53187","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.0365462} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dfe92700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/signaling 200 22ms","method":"POST","requestID":"dfe92700-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"dfe8d8e0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dfed6cc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dfe8b1d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0afae06c-573c-401b-a9e2-3b3edf1783a5#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0afae06c-573c-401b-a9e2-3b3edf1783a5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"d144e75c-78ff-449d-a98b-42971ba8e1e0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.0475423} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"84b9ed49-ab33-4644-96cf-e09d9799e192","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.0481071} device-1 | {"level":"info","message":"GET /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7? 200 38ms","method":"GET","requestID":"dfe8b1d0-7ad0-11ef-9247-9909de679d1e","responseTime":38,"status":200,"url":"/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dfe8d8e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b? 200 38ms","method":"GET","requestID":"dfe8d8e0-7ad0-11ef-9247-9909de679d1e","responseTime":38,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"108953fb21e139ae1944ada5d21b053e","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f4a1f0e-86f5-482f-bc7f-cd6ead1782cf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.0528433} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.317974,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dfed6cc0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","object_type":"device","rebac_allow":false,"scope_allow":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":"dfed6cc0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dfef1a70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dfed6cc0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/signaling 200 18ms","method":"POST","requestID":"dfed6cc0-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"108953fb21e139ae1944ada5d21b053e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"803a1cb9-4430-4b4a-9d3e-e31e8508bd49","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.0645943} gateway-1 | {"time_local":"24/Sep/2024:23:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1216","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"108953fb21e139ae1944ada5d21b053e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 150ms","method":"POST","requestID":"108953fb21e139ae1944ada5d21b053e","responseTime":150,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.45907,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dfef1a70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"dfef1a70-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8","level":"info","message":"auth send jwt","requestID":"b32b03fe62dd231faccce8505c1c3940"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dfef1a70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/signaling 200 15ms","method":"POST","requestID":"dfef1a70-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b32b03fe62dd231faccce8505c1c3940","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b32b03fe62dd231faccce8505c1c3940"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dff1d990-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.220937,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b32b03fe62dd231faccce8505c1c3940","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222300,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b32b03fe62dd231faccce8505c1c3940","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66bf3910-6a6d-4463-bfac-0e800902dbc7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.0790334} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.038214,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dff1d990-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","object_type":"device","rebac_allow":false,"scope_allow":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":"dff1d990-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.678089501Z"}]},"request_id":"4ba2e8da-0657-414b-a40e-4468a14e88f1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.0816953} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b32b03fe62dd231faccce8505c1c3940","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dff1d990-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/signaling 200 13ms","method":"POST","requestID":"dff1d990-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b32b03fe62dd231faccce8505c1c3940"} gateway-1 | {"time_local":"24/Sep/2024:23:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b32b03fe62dd231faccce8505c1c3940"} device-1 | {"level":"info","message":"GET /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7? 200 16ms","method":"GET","requestID":"b32b03fe62dd231faccce8505c1c3940","responseTime":16,"status":200,"url":"/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dff42380-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dff471a0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8","level":"info","message":"auth send jwt","requestID":"982621f9613a9673bac9912a944c9c9c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"982621f9613a9673bac9912a944c9c9c","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.769506,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dff42380-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222299,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"982621f9613a9673bac9912a944c9c9c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dff42380-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.830988,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dff471a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222299,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dff471a0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190667,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"982621f9613a9673bac9912a944c9c9c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222300,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"982621f9613a9673bac9912a944c9c9c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.678089501Z"}]},"request_id":"9880f168-5807-43b8-91f0-f5a54ba5dcbb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.09883} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.729197692Z"}]},"request_id":"ab7b7d4c-f59b-457d-989f-2ce0b52d9ca6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.0996392} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"dff42380-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dff471a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:17.729197692Z"}]},"request_id":"619c4a86-44e3-4e81-99dc-2804ccfc0fab","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.1036913} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"982621f9613a9673bac9912a944c9c9c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dff42380-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7? 200 18ms","method":"GET","requestID":"dff42380-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dff471a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b? 200 17ms","method":"GET","requestID":"dff471a0-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Building connection plan","requestID":"108953fb21e139ae1944ada5d21b053e"} 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":"393bccb6-0fa7-4df4-985e-9345ef8752e2"},{"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":"e2d349bd-8fd0-4ebc-95fd-068238ba1a5d"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"bf1135fd-94a3-445b-ba94-8744750771f3"}]},"level":"info","message":"Built pairwise service configurations","requestID":"108953fb21e139ae1944ada5d21b053e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"982621f9613a9673bac9912a944c9c9c"} gateway-1 | {"time_local":"24/Sep/2024:23:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b? HTTP/1.1","status": "200","body_bytes_sent":"1007","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"982621f9613a9673bac9912a944c9c9c"} device-1 | {"level":"info","message":"GET /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b? 200 16ms","method":"GET","requestID":"982621f9613a9673bac9912a944c9c9c","responseTime":16,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b?"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"dff757d0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"dff757d0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"dff757d0-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/22e795e4-f683-4438-bd0b-056e92407891?id=6e10457a-fac5-4e64-a5a9-9196f43d5b88","ws://localhost/rooms/22e795e4-f683-4438-bd0b-056e92407891?id=2814ff52-3cf2-450d-9b8c-865aee746a4c"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"108953fb21e139ae1944ada5d21b053e"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"dff7cd00-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.077498,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"dff7cd00-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222299,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjI5OX0.FO0yJuAlMaxgLQDIxcKIZGb7bvWLAhKRsGGslPG4wpM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dff7cd00-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"6f45bdda-9726-465f-904f-4e5e227f2d2d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.1250503} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90d35238-e50b-4c10-9acf-317b068e83dd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.1253781} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"dff7cd00-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"dff7cd00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"dff7cd00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a'","requestID":"dff7cd00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a'","requestID":"dff7cd00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"dff7cd00-7ad0-11ef-9247-9909de679d1e"} 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":"dff7cd00-7ad0-11ef-9247-9909de679d1e","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":"dff7cd00-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e6d00260-e440-4653-abd6-57ebfb27506a","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"dffd9960-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"2814ff52-3cf2-450d-9b8c-865aee746a4c\" in room \"http://localhost/rooms/22e795e4-f683-4438-bd0b-056e92407891\"","requestID":"dffd9960-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"11a301e8d3b343f573d62bfd94521abd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"dffd9960-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"11a301e8d3b343f573d62bfd94521abd","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"dffe0e90-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"6e10457a-fac5-4e64-a5a9-9196f43d5b88\" in room \"http://localhost/rooms/22e795e4-f683-4438-bd0b-056e92407891\"","requestID":"dffe0e90-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"dffe0e90-7ad0-11ef-a772-4d02dbd671ac"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a"}}},"level":"info","message":"received a callback","requestID":"11a301e8d3b343f573d62bfd94521abd"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"6e10457a-fac5-4e64-a5a9-9196f43d5b88\" in room \"http://localhost/rooms/22e795e4-f683-4438-bd0b-056e92407891\"","requestID":"dffe0e90-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"6e10457a-fac5-4e64-a5a9-9196f43d5b88\" in room \"http://localhost/rooms/22e795e4-f683-4438-bd0b-056e92407891\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"6e10457a-fac5-4e64-a5a9-9196f43d5b88\" in room \"http://localhost/rooms/22e795e4-f683-4438-bd0b-056e92407891\""} device-1 | {"data":{"peerconnection":"e6d00260-e440-4653-abd6-57ebfb27506a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"11a301e8d3b343f573d62bfd94521abd","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"11a301e8d3b343f573d62bfd94521abd"} device-1 | {"data":{"peerconnection":"e6d00260-e440-4653-abd6-57ebfb27506a","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"108953fb21e139ae1944ada5d21b053e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0020630-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e6d00260-e440-4653-abd6-57ebfb27506a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"455416ab-ff09-46a5-b087-22097e06b0cb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.1838934} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ff433e44bf97d97974cde9a88d93423d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:56808","level":"info","msg":"Sent response.","req_id":1563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.312875,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ff433e44bf97d97974cde9a88d93423d","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0020630-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0020630-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a"}}},"level":"info","message":"received a callback","requestID":"ff433e44bf97d97974cde9a88d93423d"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e003daf0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0020630-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/signaling 200 15ms","method":"POST","requestID":"e0020630-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe6d00260-e440-4653-abd6-57ebfb27506a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10cbeb1a-0b09-4b2c-9a32-bcff655c8c65","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.1957378} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.43215,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0049e40-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e003daf0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a","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":"e003daf0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e003daf0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} device-1 | {"level":"info","message":"GET /peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a 200 9ms","method":"GET","requestID":"e003daf0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a23152a-b7b3-4a59-b6de-0d5dd1c4e344","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.2011783} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.215029,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0049e40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0049e40-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0049e40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/signaling 200 9ms","method":"POST","requestID":"e0049e40-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/signaling"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"ff433e44bf97d97974cde9a88d93423d","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"ff433e44bf97d97974cde9a88d93423d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0075d60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0788c5ff-06a4-4ae3-aaa4-9d9b758ebe09","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.218823} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.512646,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0075d60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","object_type":"device","rebac_allow":false,"scope_allow":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":"e0075d60-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0075d60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/signaling 200 9ms","method":"POST","requestID":"e0075d60-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0090b10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6904cd02-d20a-442a-8953-bf2526765b26","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.2297223} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.1314,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0090b10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0090b10-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0090b10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/signaling 200 8ms","method":"POST","requestID":"e0090b10-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8","level":"info","message":"auth send jwt","requestID":"5ac694a1ea61e320ab176436277edbb5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5ac694a1ea61e320ab176436277edbb5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5","requestID":"5ac694a1ea61e320ab176436277edbb5"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.931068,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5ac694a1ea61e320ab176436277edbb5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222300,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5ac694a1ea61e320ab176436277edbb5","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5","requestID":"5ac694a1ea61e320ab176436277edbb5"} gateway-1 | {"time_local":"24/Sep/2024:23:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5 HTTP/1.1","status": "200","body_bytes_sent":"1289","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ac694a1ea61e320ab176436277edbb5"} experiment-1 | {"level":"info","message":"GET /experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5 200 14ms","method":"GET","requestID":"5ac694a1ea61e320ab176436277edbb5","responseTime":14,"status":200,"url":"/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8","level":"info","message":"auth send jwt","requestID":"5323afdd491d9486a80698535ba11539"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5323afdd491d9486a80698535ba11539","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5","requestID":"5323afdd491d9486a80698535ba11539"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.712046,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5323afdd491d9486a80698535ba11539","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222300,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5323afdd491d9486a80698535ba11539","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Attempting to finish experiment","requestID":"5323afdd491d9486a80698535ba11539"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e013b970-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.952919,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e013b970-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222300,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e013b970-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/22e795e4-f683-4438-bd0b-056e92407891?id=2814ff52-3cf2-450d-9b8c-865aee746a4c HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.165","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"9756cbefff0c87151c9631a61413d21c"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"2814ff52-3cf2-450d-9b8c-865aee746a4c\" in room \"http://localhost/rooms/22e795e4-f683-4438-bd0b-056e92407891\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"2814ff52-3cf2-450d-9b8c-865aee746a4c\" from room \"http://localhost/rooms/22e795e4-f683-4438-bd0b-056e92407891\""} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a","device":"1489c27a-0bdf-4258-a004-3ef848e8f14b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} gateway-1 | {"time_local":"24/Sep/2024:23:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/22e795e4-f683-4438-bd0b-056e92407891?id=6e10457a-fac5-4e64-a5a9-9196f43d5b88 HTTP/1.1","status": "101","body_bytes_sent":"918","request_time":"0.165","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"980d5958790673f3adff326d58623872"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e6d00260-e440-4653-abd6-57ebfb27506a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"6e10457a-fac5-4e64-a5a9-9196f43d5b88\" in room \"http://localhost/rooms/22e795e4-f683-4438-bd0b-056e92407891\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"6e10457a-fac5-4e64-a5a9-9196f43d5b88\" from room \"http://localhost/rooms/22e795e4-f683-4438-bd0b-056e92407891\""} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"aae57b5859297fdee11dc69719f5f817","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"aae57b5859297fdee11dc69719f5f817","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ae8c1b3f14efb2a2d8b28c4992965cb3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ae8c1b3f14efb2a2d8b28c4992965cb3","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a"}}},"level":"info","message":"received a callback","requestID":"aae57b5859297fdee11dc69719f5f817"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a"}}},"level":"info","message":"received a callback","requestID":"ae8c1b3f14efb2a2d8b28c4992965cb3"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe6d00260-e440-4653-abd6-57ebfb27506a': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe6d00260-e440-4653-abd6-57ebfb27506a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"4c7ed29b-387b-4872-a569-c9108f48b0cd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.3276727} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4eeb996-f46c-4308-8433-3c9ace24b649","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.327949} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"e013b970-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"e6d00260-e440-4653-abd6-57ebfb27506a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e013b970-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a 204 50ms","method":"DELETE","requestID":"e013b970-7ad0-11ef-9247-9909de679d1e","responseTime":50,"status":204,"url":"/peerconnections/e6d00260-e440-4653-abd6-57ebfb27506a"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"},"level":"info","message":"Successfully finished experiment","requestID":"5323afdd491d9486a80698535ba11539"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e01eb5f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1489c27a-0bdf-4258-a004-3ef848e8f14b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44e3a1b5-6f5e-47e9-8171-30b9f8c66e1b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.3723845} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.856536,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e01eb5f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b","object_type":"device","rebac_allow":false,"scope_allow":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":"e01eb5f0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e01eb5f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/signaling 200 10ms","method":"POST","requestID":"e01eb5f0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/1489c27a-0bdf-4258-a004-3ef848e8f14b/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0afae06c-573c-401b-a9e2-3b3edf1783a5': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0afae06c-573c-401b-a9e2-3b3edf1783a5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"de9971f8-858b-4a4f-9de5-9ac3e32f4d0a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.3785791} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"307ce0ca-58c9-45e4-902e-38717e562e2a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.378887} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e020b1c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"5323afdd491d9486a80698535ba11539","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19f9c111-2952-45ed-b6ef-98733e2cfcd7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d9ada11-7f29-4da6-a772-f4c786ec6382","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.3865654} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.018946,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e020b1c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7","object_type":"device","rebac_allow":false,"scope_allow":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":"e020b1c0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e020b1c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/signaling 200 13ms","method":"POST","requestID":"e020b1c0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5","requestID":"5323afdd491d9486a80698535ba11539"} gateway-1 | {"time_local":"24/Sep/2024:23:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5 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":"5323afdd491d9486a80698535ba11539"} experiment-1 | {"level":"info","message":"DELETE /experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5 204 156ms","method":"DELETE","requestID":"5323afdd491d9486a80698535ba11539","responseTime":156,"status":204,"url":"/experiments/0afae06c-573c-401b-a9e2-3b3edf1783a5"} gateway-1 | {"time_local":"24/Sep/2024:23:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1745","request_time":"2.164","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"5400e43965073adc3d6cf01e712e3944"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"aae57b5859297fdee11dc69719f5f817","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"aae57b5859297fdee11dc69719f5f817"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"ae8c1b3f14efb2a2d8b28c4992965cb3","responseTime":116,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.122","http_referrer":"","http_user_agent":"node-fetch","requestID":"ae8c1b3f14efb2a2d8b28c4992965cb3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8","level":"info","message":"auth send jwt","requestID":"bcfc9475f1fa75fd90b8b2196aa53034"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bcfc9475f1fa75fd90b8b2196aa53034","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bcfc9475f1fa75fd90b8b2196aa53034"} gateway-1 | {"time_local":"24/Sep/2024:23:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2068","request_time":"0.678","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f6838cf9ca4ee4c04ff374ab3ef0ef97"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.907811,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bcfc9475f1fa75fd90b8b2196aa53034","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222300,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bcfc9475f1fa75fd90b8b2196aa53034","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/19f9c111-2952-45ed-b6ef-98733e2cfcd7' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9245ffc-fd4a-4ddb-b612-5b5f5ab6b2e5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.4706557} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bcfc9475f1fa75fd90b8b2196aa53034","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/1489c27a-0bdf-4258-a004-3ef848e8f14b' 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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0a0b6a5-e920-43b9-aea9-54ae316de291","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.476525} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"bcfc9475f1fa75fd90b8b2196aa53034","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"9cd67913-432d-4890-a61e-06cfb647d7db","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.486192} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4f82dcc-bb9d-4c1e-ae57-07c7c72a14ad","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.486309} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"bcfc9475f1fa75fd90b8b2196aa53034","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.486156532Z"}]},"request_id":"2c6a8c21-8ce2-4f8d-95ac-67cf025b9bbb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.4906483} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bcfc9475f1fa75fd90b8b2196aa53034","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bcfc9475f1fa75fd90b8b2196aa53034"} gateway-1 | {"time_local":"24/Sep/2024:23:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcfc9475f1fa75fd90b8b2196aa53034"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"bcfc9475f1fa75fd90b8b2196aa53034","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8","level":"info","message":"auth send jwt","requestID":"b8c2bf7262fae15d0722d39277fb471b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b8c2bf7262fae15d0722d39277fb471b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b8c2bf7262fae15d0722d39277fb471b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.753869,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b8c2bf7262fae15d0722d39277fb471b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222300,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b8c2bf7262fae15d0722d39277fb471b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f20065c7-d979-461c-a64f-34e325c3171d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.5173066} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b8c2bf7262fae15d0722d39277fb471b","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f00dc169-b49b-46e5-8d59-0d1d9b7cabbd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.5219784} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b8c2bf7262fae15d0722d39277fb471b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"e6e84877-92db-49d3-8c70-de642748acd2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.5320802} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d795bddb-f01a-4ea7-8002-f9990d55c336","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.532345} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"b8c2bf7262fae15d0722d39277fb471b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.532047469Z"}]},"request_id":"c8c363d4-aa9c-4ed7-95f7-8e6178436341","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222300.5361586} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b8c2bf7262fae15d0722d39277fb471b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b8c2bf7262fae15d0722d39277fb471b"} gateway-1 | {"time_local":"24/Sep/2024:23:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8c2bf7262fae15d0722d39277fb471b"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"b8c2bf7262fae15d0722d39277fb471b","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8","level":"info","message":"auth send jwt","requestID":"f8f14287f752c02a29255760c95942cd"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f8f14287f752c02a29255760c95942cd","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8","level":"info","message":"auth send jwt","requestID":"a4f28aa3a69d2117f3b24c22ccd5228c"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f8f14287f752c02a29255760c95942cd"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a4f28aa3a69d2117f3b24c22ccd5228c","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a4f28aa3a69d2117f3b24c22ccd5228c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.596174,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f8f14287f752c02a29255760c95942cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222300,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f8f14287f752c02a29255760c95942cd","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725811,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a4f28aa3a69d2117f3b24c22ccd5228c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222300,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMH0.kZx6FHEbfifRh6YEE6BihGQSCmoaesdSzXpV-k9CBl8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a4f28aa3a69d2117f3b24c22ccd5228c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.532047469Z"}]},"request_id":"fc48faa0-e92b-400f-9124-d070a1fc475d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.0128937} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f8f14287f752c02a29255760c95942cd","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.486156532Z"}]},"request_id":"4073b9f1-761b-494c-af59-2475b6be01b3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.013729} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a4f28aa3a69d2117f3b24c22ccd5228c","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93aca502-3a55-427f-8f6d-a04ca6ed19f3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.0179644} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f8f14287f752c02a29255760c95942cd","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"925f6786-96ca-4633-996f-0a214ef3c4ab","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.020173} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a4f28aa3a69d2117f3b24c22ccd5228c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.486156532Z"}]},"request_id":"ee45240a-c4ab-4300-bf29-bf26190f5117","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.0233326} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a4f28aa3a69d2117f3b24c22ccd5228c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a4f28aa3a69d2117f3b24c22ccd5228c"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"a4f28aa3a69d2117f3b24c22ccd5228c"} device-1 | {"level":"info","message":"PATCH /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9 200 24ms","method":"PATCH","requestID":"a4f28aa3a69d2117f3b24c22ccd5228c","responseTime":24,"status":200,"url":"/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os","level":"info","message":"auth send jwt","requestID":"e71981cbd37d58da997063464efa516d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e71981cbd37d58da997063464efa516d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e71981cbd37d58da997063464efa516d"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.611042,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e71981cbd37d58da997063464efa516d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e71981cbd37d58da997063464efa516d","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.532047469Z"}]},"request_id":"bca2aa4c-d650-4e96-828e-0c3cc0c7db6a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.0359237} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f8f14287f752c02a29255760c95942cd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f8f14287f752c02a29255760c95942cd"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/265e9cb0-0926-4b0e-86dc-20644ee45678 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"f8f14287f752c02a29255760c95942cd"} device-1 | {"level":"info","message":"PATCH /devices/265e9cb0-0926-4b0e-86dc-20644ee45678 200 40ms","method":"PATCH","requestID":"f8f14287f752c02a29255760c95942cd","responseTime":40,"status":200,"url":"/devices/265e9cb0-0926-4b0e-86dc-20644ee45678"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os","level":"info","message":"auth send jwt","requestID":"1bdb8b295e121edac072da75b2455ccc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1bdb8b295e121edac072da75b2455ccc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1bdb8b295e121edac072da75b2455ccc"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92372,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1bdb8b295e121edac072da75b2455ccc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e71981cbd37d58da997063464efa516d"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1bdb8b295e121edac072da75b2455ccc","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"e71981cbd37d58da997063464efa516d"} device-1 | {"level":"info","message":"POST /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/websocket 200 20ms","method":"POST","requestID":"e71981cbd37d58da997063464efa516d","responseTime":20,"status":200,"url":"/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1bdb8b295e121edac072da75b2455ccc"} device-1 | {"level":"info","message":"POST /devices/265e9cb0-0926-4b0e-86dc-20644ee45678/websocket 200 21ms","method":"POST","requestID":"1bdb8b295e121edac072da75b2455ccc","responseTime":21,"status":200,"url":"/devices/265e9cb0-0926-4b0e-86dc-20644ee45678/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/265e9cb0-0926-4b0e-86dc-20644ee45678/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"1bdb8b295e121edac072da75b2455ccc"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os","level":"info","message":"auth send jwt","requestID":"2e490d3b802046e3d111a15f7a5f3b0d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2e490d3b802046e3d111a15f7a5f3b0d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2e490d3b802046e3d111a15f7a5f3b0d"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.885637,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2e490d3b802046e3d111a15f7a5f3b0d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2e490d3b802046e3d111a15f7a5f3b0d","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.486156532Z"}]},"request_id":"3f7ea8b0-6670-47a3-9fff-ee11beac4c30","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.1033552} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2e490d3b802046e3d111a15f7a5f3b0d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2e490d3b802046e3d111a15f7a5f3b0d"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e490d3b802046e3d111a15f7a5f3b0d"} device-1 | {"level":"info","message":"GET /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9? 200 12ms","method":"GET","requestID":"2e490d3b802046e3d111a15f7a5f3b0d","responseTime":12,"status":200,"url":"/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os","level":"info","message":"auth send jwt","requestID":"ba4cf1f934bfa5206e61d8705e502457"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ba4cf1f934bfa5206e61d8705e502457","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ba4cf1f934bfa5206e61d8705e502457"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.114384,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ba4cf1f934bfa5206e61d8705e502457","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ba4cf1f934bfa5206e61d8705e502457","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.532047469Z"}]},"request_id":"7fa55af6-71e4-4c85-8353-7e510831d816","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.1191227} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ba4cf1f934bfa5206e61d8705e502457","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ba4cf1f934bfa5206e61d8705e502457"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/265e9cb0-0926-4b0e-86dc-20644ee45678? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba4cf1f934bfa5206e61d8705e502457"} device-1 | {"level":"info","message":"GET /devices/265e9cb0-0926-4b0e-86dc-20644ee45678? 200 11ms","method":"GET","requestID":"ba4cf1f934bfa5206e61d8705e502457","responseTime":11,"status":200,"url":"/devices/265e9cb0-0926-4b0e-86dc-20644ee45678?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os","level":"info","message":"auth send jwt","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.895302,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Attempting to run experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Attempting to book experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Successfully booked experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e09804a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0982bb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.780896,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e09804a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e09804a0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947754,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0982bb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e0982bb0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.486156532Z"}]},"request_id":"f72b9c0f-26c1-4982-93cb-3ab72c8288a8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.1703963} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e09804a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.532047469Z"}]},"request_id":"14a6e7d3-e254-4749-8a4b-444402014d5a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.1710405} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e0982bb0-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e09804a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9? 200 12ms","method":"GET","requestID":"e09804a0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0982bb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/265e9cb0-0926-4b0e-86dc-20644ee45678? 200 12ms","method":"GET","requestID":"e0982bb0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/265e9cb0-0926-4b0e-86dc-20644ee45678?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Setting up experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Successfully locked booking for experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Attempting to update booking for experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Successfully updated booking for experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Successfully set up experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0a12c60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0a15370-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0a17a80-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660246,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Successfully running experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0a12c60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0a12c60-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.605802,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Received request.","req_id":1586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0a15370-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0a15370-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Sent response.","req_id":1586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.4371,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e5e6989-5f54-45d5-814d-e60c6c7f8446","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.2295742} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0a17a80-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","object_type":"device","rebac_allow":false,"scope_allow":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":"e0a17a80-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.486156532Z"}]},"request_id":"2f8e21cb-c9d9-4e17-b9a0-9d2cd06f190f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.2326176} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0a17a80-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/signaling 200 11ms","method":"POST","requestID":"e0a17a80-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e0a12c60-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.532047469Z"}]},"request_id":"c99fd650-1e20-46a4-a082-87594c07ad45","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.2363143} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e0a15370-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0a39d60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0a12c60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9? 200 19ms","method":"GET","requestID":"e0a12c60-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0a15370-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee7de677-e899-43d9-844f-62660e99f091","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.2421863} device-1 | {"level":"info","message":"GET /devices/265e9cb0-0926-4b0e-86dc-20644ee45678? 200 19ms","method":"GET","requestID":"e0a15370-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/265e9cb0-0926-4b0e-86dc-20644ee45678?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.799898,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0a39d60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0a39d60-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0a487c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0a39d60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/265e9cb0-0926-4b0e-86dc-20644ee45678/signaling 200 10ms","method":"POST","requestID":"e0a39d60-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/265e9cb0-0926-4b0e-86dc-20644ee45678/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf0a7ef6-8193-4cfb-9e92-24d116bf7eda","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.2499115} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F21aae5f0-c127-418d-a0f4-c98043eb9def#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F21aae5f0-c127-418d-a0f4-c98043eb9def","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"3346b48f-f3f9-45ff-bc95-f4efe699d265","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.249912} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81a26783-2d63-4b90-8964-7157e71308b7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.2500982} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.374492,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0a487c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","object_type":"device","rebac_allow":false,"scope_allow":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":"e0a487c0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a","responseTime":23,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0a487c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/signaling 200 12ms","method":"POST","requestID":"e0a487c0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0a6d1b0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 132ms","method":"POST","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a","responseTime":132,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1220","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os","level":"info","message":"auth send jwt","requestID":"5ccab6f39c6286443ad63753e40dd426"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c997e890-ed8d-4fd3-a11d-cbc58a768bd1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.26384} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ccab6f39c6286443ad63753e40dd426","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.713372,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5ccab6f39c6286443ad63753e40dd426"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0a6d1b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0a6d1b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0a6d1b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/265e9cb0-0926-4b0e-86dc-20644ee45678/signaling 200 9ms","method":"POST","requestID":"e0a6d1b0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/265e9cb0-0926-4b0e-86dc-20644ee45678/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960396,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5ccab6f39c6286443ad63753e40dd426","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5ccab6f39c6286443ad63753e40dd426","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0a87f60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0a8a670-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.486156532Z"}]},"request_id":"77fba470-523f-41fb-a063-1744cb1d1ef0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.272251} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5ccab6f39c6286443ad63753e40dd426","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675711,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0a87f60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e0a87f60-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717864,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0a8a670-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e0a8a670-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5ccab6f39c6286443ad63753e40dd426"} device-1 | {"level":"info","message":"GET /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9? 200 13ms","method":"GET","requestID":"5ccab6f39c6286443ad63753e40dd426","responseTime":13,"status":200,"url":"/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ccab6f39c6286443ad63753e40dd426"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.486156532Z"}]},"request_id":"11262962-841b-4110-9e0e-7d7ac421eb9c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.2801056} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e0a87f60-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os","level":"info","message":"auth send jwt","requestID":"93a4edda4fccf5ba961a0241958b0461"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.532047469Z"}]},"request_id":"afde73e7-44b7-4191-aade-3926ced30a6a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.281909} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"93a4edda4fccf5ba961a0241958b0461","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e0a8a670-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"93a4edda4fccf5ba961a0241958b0461"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0a87f60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9? 200 19ms","method":"GET","requestID":"e0a87f60-7ad0-11ef-9247-9909de679d1e","responseTime":19,"status":200,"url":"/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0a8a670-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/265e9cb0-0926-4b0e-86dc-20644ee45678? 200 20ms","method":"GET","requestID":"e0a8a670-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/265e9cb0-0926-4b0e-86dc-20644ee45678?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.046476,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Building connection plan","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} 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":"9f02c5e2-a122-4ba4-a552-4ea88f2017c2"},{"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":"2704c8e4-7d66-47d6-b686-138092c94893"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"400bf777-7ca7-4e9e-b499-f160e4b8aa8c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"93a4edda4fccf5ba961a0241958b0461","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"93a4edda4fccf5ba961a0241958b0461","responseTime":4,"status":200,"url":"/authorize"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"e0ac01d0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"e0ac01d0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"e0ac01d0-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/354aef19-9c90-4fb1-aa66-535d1209ab35?id=5de125e6-4c7f-4aeb-9b96-9b82851c5f1c","ws://localhost/rooms/354aef19-9c90-4fb1-aa66-535d1209ab35?id=d199a3ec-a8aa-4ef9-bbee-4e7beb1434a6"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e0ac9e10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:20.532047469Z"}]},"request_id":"c630051a-9cd1-40cd-8ed6-ccbb86ce5b0c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.3000438} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"93a4edda4fccf5ba961a0241958b0461","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.893157,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0ac9e10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e0ac9e10-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"93a4edda4fccf5ba961a0241958b0461"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/265e9cb0-0926-4b0e-86dc-20644ee45678? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93a4edda4fccf5ba961a0241958b0461"} device-1 | {"level":"info","message":"GET /devices/265e9cb0-0926-4b0e-86dc-20644ee45678? 200 20ms","method":"GET","requestID":"93a4edda4fccf5ba961a0241958b0461","responseTime":20,"status":200,"url":"/devices/265e9cb0-0926-4b0e-86dc-20644ee45678?"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"4b3a40eb-e02d-42db-9681-563ffcf36759","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.3134518} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa3f4a47-3725-45d4-a92f-04cc205bb1d0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.3137605} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"e0ac9e10-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e0ac9e10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e0ac9e10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde'","requestID":"e0ac9e10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde'","requestID":"e0ac9e10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e0ac9e10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"e0ac9e10-7ad0-11ef-9247-9909de679d1e","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"e0ac9e10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3ad16660-b700-409a-9c0d-b75aac1b9dde","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"e0b26a70-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"5de125e6-4c7f-4aeb-9b96-9b82851c5f1c\" in room \"http://localhost/rooms/354aef19-9c90-4fb1-aa66-535d1209ab35\"","requestID":"e0b26a70-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"e0b26a70-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"e0b29180-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"d199a3ec-a8aa-4ef9-bbee-4e7beb1434a6\" in room \"http://localhost/rooms/354aef19-9c90-4fb1-aa66-535d1209ab35\"","requestID":"e0b29180-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"e0b29180-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"d199a3ec-a8aa-4ef9-bbee-4e7beb1434a6\" in room \"http://localhost/rooms/354aef19-9c90-4fb1-aa66-535d1209ab35\"","requestID":"e0b29180-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d73b6de31d74e30a953520e92b55d475","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"d199a3ec-a8aa-4ef9-bbee-4e7beb1434a6\" in room \"http://localhost/rooms/354aef19-9c90-4fb1-aa66-535d1209ab35\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"d199a3ec-a8aa-4ef9-bbee-4e7beb1434a6\" in room \"http://localhost/rooms/354aef19-9c90-4fb1-aa66-535d1209ab35\""} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d73b6de31d74e30a953520e92b55d475","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde"}}},"level":"info","message":"received a callback","requestID":"d73b6de31d74e30a953520e92b55d475"} device-1 | {"data":{"peerconnection":"3ad16660-b700-409a-9c0d-b75aac1b9dde","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"d73b6de31d74e30a953520e92b55d475","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"d73b6de31d74e30a953520e92b55d475"} device-1 | {"data":{"peerconnection":"3ad16660-b700-409a-9c0d-b75aac1b9dde","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"2fef9a5fa990e6b4ce50bdd88dcc676a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0b6b030-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02755d20-6e15-470b-adeb-beaaca90d087","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.3682756} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.220767,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3ad16660-b700-409a-9c0d-b75aac1b9dde","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0b6b030-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","object_type":"device","rebac_allow":false,"scope_allow":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":"e0b6b030-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fb186d2a4228d49af9eb96cc93ba1626","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"fb186d2a4228d49af9eb96cc93ba1626","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde"}}},"level":"info","message":"received a callback","requestID":"fb186d2a4228d49af9eb96cc93ba1626"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0b6b030-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/signaling 200 10ms","method":"POST","requestID":"e0b6b030-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0b884f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e0b92130-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"732ca12f-03a9-4b51-9880-edb64543a31b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.3803937} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.548467,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0b884f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","object_type":"device","rebac_allow":false,"scope_allow":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":"e0b884f0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3ad16660-b700-409a-9c0d-b75aac1b9dde","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"948d20c3-86d0-4fe0-b16b-bca2e359c830","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.383617} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.523208,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0b92130-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde","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":"e0b92130-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e0b92130-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde 200 8ms","method":"GET","requestID":"e0b92130-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0b884f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/265e9cb0-0926-4b0e-86dc-20644ee45678/signaling 200 12ms","method":"POST","requestID":"e0b884f0-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/265e9cb0-0926-4b0e-86dc-20644ee45678/signaling"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"fb186d2a4228d49af9eb96cc93ba1626","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","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":"fb186d2a4228d49af9eb96cc93ba1626"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0bc7c90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc891a51-181d-41d6-af88-69546ef20856","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.4064136} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.910422,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0bc7c90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","object_type":"device","rebac_allow":false,"scope_allow":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":"e0bc7c90-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0bc7c90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/signaling 200 9ms","method":"POST","requestID":"e0bc7c90-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0be0330-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edf37dfa-8b65-49e4-89e3-d5ba0d983e0c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.4159298} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.671054,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0be0330-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0be0330-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0be0330-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/265e9cb0-0926-4b0e-86dc-20644ee45678/signaling 200 8ms","method":"POST","requestID":"e0be0330-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/265e9cb0-0926-4b0e-86dc-20644ee45678/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os","level":"info","message":"auth send jwt","requestID":"9280d47f77bdc93ed9e459a88c407390"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9280d47f77bdc93ed9e459a88c407390","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/21aae5f0-c127-418d-a0f4-c98043eb9def","requestID":"9280d47f77bdc93ed9e459a88c407390"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.05883,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9280d47f77bdc93ed9e459a88c407390","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9280d47f77bdc93ed9e459a88c407390","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/21aae5f0-c127-418d-a0f4-c98043eb9def","requestID":"9280d47f77bdc93ed9e459a88c407390"} experiment-1 | {"level":"info","message":"GET /experiments/21aae5f0-c127-418d-a0f4-c98043eb9def 200 13ms","method":"GET","requestID":"9280d47f77bdc93ed9e459a88c407390","responseTime":13,"status":200,"url":"/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/21aae5f0-c127-418d-a0f4-c98043eb9def HTTP/1.1","status": "200","body_bytes_sent":"1293","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9280d47f77bdc93ed9e459a88c407390"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os","level":"info","message":"auth send jwt","requestID":"5fc3bb14ae5af31c81133fe82142a96c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5fc3bb14ae5af31c81133fe82142a96c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/21aae5f0-c127-418d-a0f4-c98043eb9def","requestID":"5fc3bb14ae5af31c81133fe82142a96c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.186116,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5fc3bb14ae5af31c81133fe82142a96c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5fc3bb14ae5af31c81133fe82142a96c","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Attempting to finish experiment","requestID":"5fc3bb14ae5af31c81133fe82142a96c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e0c83c60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.175161,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0c83c60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e0c83c60-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/354aef19-9c90-4fb1-aa66-535d1209ab35?id=5de125e6-4c7f-4aeb-9b96-9b82851c5f1c HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.159","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"222fd7928b62cd10edc1e936d93566fc"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/354aef19-9c90-4fb1-aa66-535d1209ab35?id=d199a3ec-a8aa-4ef9-bbee-4e7beb1434a6 HTTP/1.1","status": "101","body_bytes_sent":"458","request_time":"0.160","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"37ab1d6414caaa2b2c82f94b1604d247"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"5de125e6-4c7f-4aeb-9b96-9b82851c5f1c\" in room \"http://localhost/rooms/354aef19-9c90-4fb1-aa66-535d1209ab35\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"5de125e6-4c7f-4aeb-9b96-9b82851c5f1c\" from room \"http://localhost/rooms/354aef19-9c90-4fb1-aa66-535d1209ab35\""} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"d199a3ec-a8aa-4ef9-bbee-4e7beb1434a6\" in room \"http://localhost/rooms/354aef19-9c90-4fb1-aa66-535d1209ab35\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"d199a3ec-a8aa-4ef9-bbee-4e7beb1434a6\" from room \"http://localhost/rooms/354aef19-9c90-4fb1-aa66-535d1209ab35\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3ad16660-b700-409a-9c0d-b75aac1b9dde","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"503cbef765c4ffc5aeec3710f97f32ca","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"503cbef765c4ffc5aeec3710f97f32ca","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"498421251768eb8b2b4ff285d24fad5b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde"}}},"level":"info","message":"received a callback","requestID":"503cbef765c4ffc5aeec3710f97f32ca"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"498421251768eb8b2b4ff285d24fad5b","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3ad16660-b700-409a-9c0d-b75aac1b9dde': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3ad16660-b700-409a-9c0d-b75aac1b9dde","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"e3e35766-7270-4a7b-979a-0446b3c7cb1e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.503544} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c52bdaaa-8947-487e-940a-998471e932de","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.5039797} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde"}}},"level":"info","message":"received a callback","requestID":"498421251768eb8b2b4ff285d24fad5b"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"e0c83c60-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"3ad16660-b700-409a-9c0d-b75aac1b9dde","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e0c83c60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde 204 44ms","method":"DELETE","requestID":"e0c83c60-7ad0-11ef-9247-9909de679d1e","responseTime":44,"status":204,"url":"/peerconnections/3ad16660-b700-409a-9c0d-b75aac1b9dde"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"},"level":"info","message":"Successfully finished experiment","requestID":"5fc3bb14ae5af31c81133fe82142a96c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0d20060-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8735179e-8a41-4b3a-a16b-4b018de1f7c9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f286e68-8f9c-40f1-8f15-69bbbf2bf26c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.549184} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.841378,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0d20060-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9","object_type":"device","rebac_allow":false,"scope_allow":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":"e0d20060-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0d20060-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/signaling 200 14ms","method":"POST","requestID":"e0d20060-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F21aae5f0-c127-418d-a0f4-c98043eb9def': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F21aae5f0-c127-418d-a0f4-c98043eb9def","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"a6e21cc6-dc4e-448f-8437-8d801fd9fad1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.5570822} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0d49870-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61701f72-076a-47fa-b7d9-b9f9050e50cc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.5579236} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"5fc3bb14ae5af31c81133fe82142a96c","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F265e9cb0-0926-4b0e-86dc-20644ee45678","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bea9de85-f40c-41f2-83d4-427b31a6cfb4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.5663245} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.902787,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e0d49870-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678","object_type":"device","rebac_allow":false,"scope_allow":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":"e0d49870-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0d49870-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/265e9cb0-0926-4b0e-86dc-20644ee45678/signaling 200 14ms","method":"POST","requestID":"e0d49870-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/265e9cb0-0926-4b0e-86dc-20644ee45678/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/21aae5f0-c127-418d-a0f4-c98043eb9def","requestID":"5fc3bb14ae5af31c81133fe82142a96c"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/21aae5f0-c127-418d-a0f4-c98043eb9def HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5fc3bb14ae5af31c81133fe82142a96c"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2070","request_time":"0.575","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"a5d56ecfacdf837db76d97ed8aab8d3b"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2067","request_time":"0.560","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"e95f11b382c06111a7d48f1f42d1d201"} experiment-1 | {"level":"info","message":"DELETE /experiments/21aae5f0-c127-418d-a0f4-c98043eb9def 204 163ms","method":"DELETE","requestID":"5fc3bb14ae5af31c81133fe82142a96c","responseTime":163,"status":204,"url":"/experiments/21aae5f0-c127-418d-a0f4-c98043eb9def"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"503cbef765c4ffc5aeec3710f97f32ca","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","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":"503cbef765c4ffc5aeec3710f97f32ca"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"498421251768eb8b2b4ff285d24fad5b","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","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":"498421251768eb8b2b4ff285d24fad5b"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/265e9cb0-0926-4b0e-86dc-20644ee45678' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os","level":"info","message":"auth send jwt","requestID":"7b8564566542922ffe813e26d4a9bb96"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"7b8564566542922ffe813e26d4a9bb96","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7b8564566542922ffe813e26d4a9bb96"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.020512,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7b8564566542922ffe813e26d4a9bb96","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8735179e-8a41-4b3a-a16b-4b018de1f7c9' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7b8564566542922ffe813e26d4a9bb96","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"385175ca-6348-4075-8433-7a2e6dffd6a7","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.6609623} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7b8564566542922ffe813e26d4a9bb96","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aed425e3-f36b-496d-9886-6a0e3f9f0449","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.6674511} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7b8564566542922ffe813e26d4a9bb96","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"4dc02052-b8e0-4109-abd3-dc99032e6d23","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.6778123} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94026a6d-d75f-4b2c-84c2-e6be7bacc33a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.6780748} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"7b8564566542922ffe813e26d4a9bb96","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.677759471Z"}]},"request_id":"fa1c59f3-23b1-48cd-af4b-9e60646b60dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.6844265} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7b8564566542922ffe813e26d4a9bb96","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7b8564566542922ffe813e26d4a9bb96"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b8564566542922ffe813e26d4a9bb96"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"7b8564566542922ffe813e26d4a9bb96","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os","level":"info","message":"auth send jwt","requestID":"9cf3b016679c9f0d31a7292a47196614"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9cf3b016679c9f0d31a7292a47196614","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9cf3b016679c9f0d31a7292a47196614"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.870588,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"9cf3b016679c9f0d31a7292a47196614","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222301,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMX0.m97XeydN7L0F45lZyJNi3Y0MSgj3ERDbGSPQ7JQH0os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9cf3b016679c9f0d31a7292a47196614","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6a0701e5-9828-4e30-bbbf-329c39154b67","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.7101383} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9cf3b016679c9f0d31a7292a47196614","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a18b417f-ee6a-4e41-a8d9-faabfe6c027c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.715748} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9cf3b016679c9f0d31a7292a47196614","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"e421bd20-d7bc-4a63-9aed-ee88846e4588","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.7322376} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a852327-260f-4e4d-835e-35b3621dcd7b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.7324574} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"9cf3b016679c9f0d31a7292a47196614","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.732202324Z"}]},"request_id":"175e9402-f911-4e4b-b14d-bde76637c4f1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222301.7373798} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9cf3b016679c9f0d31a7292a47196614","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9cf3b016679c9f0d31a7292a47196614"} gateway-1 | {"time_local":"24/Sep/2024:23:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"445","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9cf3b016679c9f0d31a7292a47196614"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"9cf3b016679c9f0d31a7292a47196614","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"91d8aecb70165acad5d7ca7c8fcb2dfb"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"91d8aecb70165acad5d7ca7c8fcb2dfb","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"da0787822519bbc939ff5d4a9768c50c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"da0787822519bbc939ff5d4a9768c50c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"91d8aecb70165acad5d7ca7c8fcb2dfb"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"da0787822519bbc939ff5d4a9768c50c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.599249,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"91d8aecb70165acad5d7ca7c8fcb2dfb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"91d8aecb70165acad5d7ca7c8fcb2dfb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.970313,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"da0787822519bbc939ff5d4a9768c50c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"da0787822519bbc939ff5d4a9768c50c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.677759471Z"}]},"request_id":"af999c4c-109f-4609-953f-188a47d8976f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.215637} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"91d8aecb70165acad5d7ca7c8fcb2dfb","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.732202324Z"}]},"request_id":"4e8a8adb-b2d2-4b6d-8e5b-fe2ca3c388ad","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.2168999} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"da0787822519bbc939ff5d4a9768c50c","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2e7f670-a24f-4a71-9843-b5e2f4a63acc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.2219493} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"91d8aecb70165acad5d7ca7c8fcb2dfb","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52605ace-fcc2-4eae-a7e6-5bb150025c48","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.223669} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"da0787822519bbc939ff5d4a9768c50c","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.732202324Z"}]},"request_id":"1401cd30-3b94-44aa-ad70-df7192d219dd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.2259822} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"da0787822519bbc939ff5d4a9768c50c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"da0787822519bbc939ff5d4a9768c50c"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.032","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"da0787822519bbc939ff5d4a9768c50c"} device-1 | {"level":"info","message":"PATCH /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2 200 24ms","method":"PATCH","requestID":"da0787822519bbc939ff5d4a9768c50c","responseTime":24,"status":200,"url":"/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"7da6e2981b32102e168fd921f716895e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7da6e2981b32102e168fd921f716895e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7da6e2981b32102e168fd921f716895e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.599173,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"7da6e2981b32102e168fd921f716895e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7da6e2981b32102e168fd921f716895e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.677759471Z"}]},"request_id":"5cee1431-d61d-4824-b197-b1b8dfa6ce81","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.2361858} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"91d8aecb70165acad5d7ca7c8fcb2dfb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"91d8aecb70165acad5d7ca7c8fcb2dfb"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d597a833-411c-41c6-9712-1733f5698944 HTTP/1.1","status": "200","body_bytes_sent":"1340","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"91d8aecb70165acad5d7ca7c8fcb2dfb"} device-1 | {"level":"info","message":"PATCH /devices/d597a833-411c-41c6-9712-1733f5698944 200 36ms","method":"PATCH","requestID":"91d8aecb70165acad5d7ca7c8fcb2dfb","responseTime":36,"status":200,"url":"/devices/d597a833-411c-41c6-9712-1733f5698944"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"fa2278359d12211c1519f0090fe99759"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fa2278359d12211c1519f0090fe99759","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fa2278359d12211c1519f0090fe99759"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715667,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"fa2278359d12211c1519f0090fe99759","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fa2278359d12211c1519f0090fe99759","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7da6e2981b32102e168fd921f716895e"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"7da6e2981b32102e168fd921f716895e"} device-1 | {"level":"info","message":"POST /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/websocket 200 18ms","method":"POST","requestID":"7da6e2981b32102e168fd921f716895e","responseTime":18,"status":200,"url":"/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fa2278359d12211c1519f0090fe99759"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d597a833-411c-41c6-9712-1733f5698944/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"fa2278359d12211c1519f0090fe99759"} device-1 | {"level":"info","message":"POST /devices/d597a833-411c-41c6-9712-1733f5698944/websocket 200 20ms","method":"POST","requestID":"fa2278359d12211c1519f0090fe99759","responseTime":20,"status":200,"url":"/devices/d597a833-411c-41c6-9712-1733f5698944/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"a69c2e67f5bae7a3b8fd98aee6f6c561"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a69c2e67f5bae7a3b8fd98aee6f6c561","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a69c2e67f5bae7a3b8fd98aee6f6c561"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.879996,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"a69c2e67f5bae7a3b8fd98aee6f6c561","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"a69c2e67f5bae7a3b8fd98aee6f6c561","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.677759471Z"}]},"request_id":"caa4517c-a13c-40ae-90eb-5b12b9691d29","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.3046918} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a69c2e67f5bae7a3b8fd98aee6f6c561","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a69c2e67f5bae7a3b8fd98aee6f6c561"} device-1 | {"level":"info","message":"GET /devices/d597a833-411c-41c6-9712-1733f5698944? 200 19ms","method":"GET","requestID":"a69c2e67f5bae7a3b8fd98aee6f6c561","responseTime":19,"status":200,"url":"/devices/d597a833-411c-41c6-9712-1733f5698944?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d597a833-411c-41c6-9712-1733f5698944? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a69c2e67f5bae7a3b8fd98aee6f6c561"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"bc107ebd7182f1d734d29602b7d71964"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bc107ebd7182f1d734d29602b7d71964","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bc107ebd7182f1d734d29602b7d71964"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.896004,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bc107ebd7182f1d734d29602b7d71964","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bc107ebd7182f1d734d29602b7d71964","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.732202324Z"}]},"request_id":"2165062d-0809-4382-8913-811263b92666","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.3203068} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bc107ebd7182f1d734d29602b7d71964","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bc107ebd7182f1d734d29602b7d71964"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc107ebd7182f1d734d29602b7d71964"} device-1 | {"level":"info","message":"GET /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2? 200 11ms","method":"GET","requestID":"bc107ebd7182f1d734d29602b7d71964","responseTime":11,"status":200,"url":"/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"b31347af118342feac261fffadb542c9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b31347af118342feac261fffadb542c9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b31347af118342feac261fffadb542c9"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.812985,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"b31347af118342feac261fffadb542c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b31347af118342feac261fffadb542c9","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Attempting to run experiment","requestID":"b31347af118342feac261fffadb542c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Attempting to book experiment","requestID":"b31347af118342feac261fffadb542c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Successfully booked experiment","requestID":"b31347af118342feac261fffadb542c9"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e14f46b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e14f94d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.167076,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e14f46b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e14f46b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694648,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e14f94d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e14f94d0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.677759471Z"}]},"request_id":"ba6a26e5-3ef3-4809-ac02-bf70953bf16c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.3745408} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e14f46b0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.732202324Z"}]},"request_id":"cd6ddc8a-b02f-4d6e-95c4-1816e2a206d1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.3762236} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e14f94d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e14f46b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/d597a833-411c-41c6-9712-1733f5698944? 200 20ms","method":"GET","requestID":"e14f46b0-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/d597a833-411c-41c6-9712-1733f5698944?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e14f94d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2? 200 20ms","method":"GET","requestID":"e14f94d0-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Setting up experiment","requestID":"b31347af118342feac261fffadb542c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b31347af118342feac261fffadb542c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b31347af118342feac261fffadb542c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b31347af118342feac261fffadb542c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b31347af118342feac261fffadb542c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b31347af118342feac261fffadb542c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b31347af118342feac261fffadb542c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Successfully set up experiment","requestID":"b31347af118342feac261fffadb542c9"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e1597fe0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e159f510-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e15a9150-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.33109,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Successfully running experiment","requestID":"b31347af118342feac261fffadb542c9"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e1597fe0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e1597fe0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.78997,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e159f510-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"e159f510-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.174893,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a88589b5-c4bc-46a7-81cb-362347034787","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.4486148} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e15a9150-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"e15a9150-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.677759471Z"}]},"request_id":"79311249-f79e-41e7-8b1f-0926b5287984","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.4532053} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"e1597fe0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e15a9150-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.732202324Z"}]},"request_id":"77c6a950-b0a4-4a28-a378-c9a691a88461","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.4567401} device-1 | {"level":"info","message":"POST /devices/d597a833-411c-41c6-9712-1733f5698944/signaling 200 20ms","method":"POST","requestID":"e15a9150-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/d597a833-411c-41c6-9712-1733f5698944/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e159f510-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e15e3ad0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e1597fe0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/d597a833-411c-41c6-9712-1733f5698944? 200 35ms","method":"GET","requestID":"e1597fe0-7ad0-11ef-9247-9909de679d1e","responseTime":35,"status":200,"url":"/devices/d597a833-411c-41c6-9712-1733f5698944?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e159f510-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2? 200 33ms","method":"GET","requestID":"e159f510-7ad0-11ef-9247-9909de679d1e","responseTime":33,"status":200,"url":"/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72ea5228-c1c2-4387-997e-0896cd9b1d93","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.4669254} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcc574625-1a9a-4cc9-b0d2-e8649c5b0ef6#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcc574625-1a9a-4cc9-b0d2-e8649c5b0ef6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"158ddc10-ac3d-48ae-b35d-254dd716cecf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.467041} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8e7cbc9-f190-4969-9a38-2ddbbfcd108d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.4677274} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.123176,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e15f7350-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e15e3ad0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","object_type":"device","rebac_allow":false,"scope_allow":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":"e15e3ad0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"b31347af118342feac261fffadb542c9","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e15e3ad0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/signaling 200 13ms","method":"POST","requestID":"e15e3ad0-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5afa4bbe-7d1e-4160-9b4f-d7097f158af0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.4758742} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.893845,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e15f7350-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","object_type":"device","rebac_allow":false,"scope_allow":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":"e15f7350-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e15f7350-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d597a833-411c-41c6-9712-1733f5698944/signaling 200 12ms","method":"POST","requestID":"e15f7350-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/d597a833-411c-41c6-9712-1733f5698944/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b31347af118342feac261fffadb542c9"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1220","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b31347af118342feac261fffadb542c9"} experiment-1 | {"level":"info","message":"POST /experiments? 201 154ms","method":"POST","requestID":"b31347af118342feac261fffadb542c9","responseTime":154,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e1620b60-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"4e98f25a16646096efb3d202221b169d"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"4e98f25a16646096efb3d202221b169d","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e98f25a16646096efb3d202221b169d"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.09974,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4e98f25a16646096efb3d202221b169d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"4e98f25a16646096efb3d202221b169d","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87ad8144-32aa-4d60-89e1-531fc1ef986a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.506517} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.869665,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e1620b60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 21ms","method":"POST","requestID":"e1620b60-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.677759471Z"}]},"request_id":"694f2d81-96df-4c66-8324-0d50df0e7be2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.5122337} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e1620b60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/signaling 200 27ms","method":"POST","requestID":"e1620b60-7ad0-11ef-9247-9909de679d1e","responseTime":27,"status":200,"url":"/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4e98f25a16646096efb3d202221b169d","responseTime":4,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b31347af118342feac261fffadb542c9"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e1669f40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e166c650-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e98f25a16646096efb3d202221b169d"} device-1 | {"level":"info","message":"GET /devices/d597a833-411c-41c6-9712-1733f5698944? 200 27ms","method":"GET","requestID":"4e98f25a16646096efb3d202221b169d","responseTime":27,"status":200,"url":"/devices/d597a833-411c-41c6-9712-1733f5698944?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d597a833-411c-41c6-9712-1733f5698944? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e98f25a16646096efb3d202221b169d"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.044926,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e1669f40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e1669f40-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859793,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e166c650-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e166c650-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"2283530783b4899bccb2b3d1386f6139"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2283530783b4899bccb2b3d1386f6139","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2283530783b4899bccb2b3d1386f6139"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.677759471Z"}]},"request_id":"a180c191-9c23-40a6-869e-8320526c109d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.5246172} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e1669f40-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.732202324Z"}]},"request_id":"3375da79-9e23-4469-841d-e1dad444a9be","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.5262477} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e1669f40-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e166c650-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} device-1 | {"level":"info","message":"GET /devices/d597a833-411c-41c6-9712-1733f5698944? 200 13ms","method":"GET","requestID":"e1669f40-7ad0-11ef-9247-9909de679d1e","responseTime":13,"status":200,"url":"/devices/d597a833-411c-41c6-9712-1733f5698944?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.005873,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2283530783b4899bccb2b3d1386f6139","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2283530783b4899bccb2b3d1386f6139","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e166c650-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2? 200 17ms","method":"GET","requestID":"e166c650-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:21.732202324Z"}]},"request_id":"729ec536-45a5-40ff-93a4-7e2f763430c5","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.534598} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Building connection plan","requestID":"b31347af118342feac261fffadb542c9"} 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":"43714a29-86f5-4747-8e11-8a46e65c9274"},{"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":"2b194f24-2004-4cdf-a403-7d0a2dd59a90"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"452abbc9-7f8d-4b1b-8ebd-ab1c5676e1ca"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b31347af118342feac261fffadb542c9"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2283530783b4899bccb2b3d1386f6139","responseTime":3,"status":200,"url":"/relations/query"} forwarding-1 | {"level":"info","message":"postRooms called","requestID":"e169ac80-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"postRooms succeeded","requestID":"e169ac80-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"POST /rooms 201 1ms","method":"POST","requestID":"e169ac80-7ad0-11ef-a772-4d02dbd671ac","responseTime":1,"status":201,"url":"/rooms"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2283530783b4899bccb2b3d1386f6139"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2? HTTP/1.1","status": "200","body_bytes_sent":"1339","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2283530783b4899bccb2b3d1386f6139"} device-1 | {"level":"info","message":"GET /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2? 200 14ms","method":"GET","requestID":"2283530783b4899bccb2b3d1386f6139","responseTime":14,"status":200,"url":"/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2?"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"webSocketUrls":["ws://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac?id=0eb60a2c-2d15-467c-9e02-15303f9af41a","ws://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac?id=2a630376-7a3b-4aff-bd71-7efe58c854b9"]},"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2"}],"type":"websocket"}]},"level":"info","message":"Built connection plan","requestID":"b31347af118342feac261fffadb542c9"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e16a48c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.697378,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e16a48c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e16a48c0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a28ececb-5b38-4b47-b53d-59c8d8ab44b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.5509236} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0da9d699-7b5a-4e97-9394-42a2fb3a913e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.5512133} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e16a48c0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e16a48c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e16a48c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39'","requestID":"e16a48c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39'","requestID":"e16a48c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e16a48c0-7ad0-11ef-9247-9909de679d1e"} 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":"e16a48c0-7ad0-11ef-9247-9909de679d1e","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":"e16a48c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91221c3c-5c05-4548-a4e4-45d48dff1d39","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"e16f51d0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"0eb60a2c-2d15-467c-9e02-15303f9af41a\" in room \"http://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac\"","requestID":"e16f51d0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"e16f51d0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"A new connection has been established!","requestID":"e16f78e0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"2a630376-7a3b-4aff-bd71-7efe58c854b9\" in room \"http://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac\"","requestID":"e16f78e0-7ad0-11ef-a772-4d02dbd671ac"} forwarding-1 | {"level":"info","message":"The newly established connection was handled successfully!","requestID":"e16f78e0-7ad0-11ef-a772-4d02dbd671ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ca35181352b56c2dd0096b6d7c5ef15a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"2a630376-7a3b-4aff-bd71-7efe58c854b9\" in room \"http://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac\""} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ca35181352b56c2dd0096b6d7c5ef15a","responseTime":1,"status":200,"url":"/auth"} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"2a630376-7a3b-4aff-bd71-7efe58c854b9\" in room \"http://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"2a630376-7a3b-4aff-bd71-7efe58c854b9\" in room \"http://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"2a630376-7a3b-4aff-bd71-7efe58c854b9\" in room \"http://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac\""} forwarding-1 | {"level":"info","message":"Starting forwarding-queue for participant \"2a630376-7a3b-4aff-bd71-7efe58c854b9\" in room \"http://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac\""} forwarding-1 | {"level":"info","message":"Waiting for new messages in forwarding-queue for participant \"2a630376-7a3b-4aff-bd71-7efe58c854b9\" in room \"http://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac\""} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2"}],"status":"connecting","type":"websocket","url":"http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39"}}},"level":"info","message":"received a callback","requestID":"ca35181352b56c2dd0096b6d7c5ef15a"} device-1 | {"data":{"peerconnection":"91221c3c-5c05-4548-a4e4-45d48dff1d39","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"ca35181352b56c2dd0096b6d7c5ef15a","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"ca35181352b56c2dd0096b6d7c5ef15a"} device-1 | {"data":{"peerconnection":"91221c3c-5c05-4548-a4e4-45d48dff1d39","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b31347af118342feac261fffadb542c9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e173e5b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91221c3c-5c05-4548-a4e4-45d48dff1d39","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"710adab9-b028-41e9-aae1-6bdd96f8aa38","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.6074944} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"736fd776d0ef1381b312c97ca7e9c5a1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:56808","level":"info","msg":"Sent response.","req_id":1627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.411597,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"736fd776d0ef1381b312c97ca7e9c5a1","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e173e5b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e173e5b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2"}],"status":"connected","type":"websocket","url":"http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39"}}},"level":"info","message":"received a callback","requestID":"736fd776d0ef1381b312c97ca7e9c5a1"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e1759360-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e173e5b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d597a833-411c-41c6-9712-1733f5698944/signaling 200 14ms","method":"POST","requestID":"e173e5b0-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/d597a833-411c-41c6-9712-1733f5698944/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91221c3c-5c05-4548-a4e4-45d48dff1d39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0100bf47-5738-4a58-9836-3f7027567723","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.618738} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.42538,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e17656b0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e1759360-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39","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":"e1759360-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e1759360-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39 200 8ms","method":"GET","requestID":"e1759360-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"402b6b75-11a4-44a4-995b-a96e79dad2d4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.6236563} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.605646,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e17656b0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e17656b0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e17656b0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/signaling 200 9ms","method":"POST","requestID":"e17656b0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/signaling"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"736fd776d0ef1381b312c97ca7e9c5a1","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"736fd776d0ef1381b312c97ca7e9c5a1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e1793ce0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c99094d-33e1-41b2-bd6d-3995044241ac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.6434393} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.14733,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e1793ce0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","object_type":"device","rebac_allow":false,"scope_allow":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":"e1793ce0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e1793ce0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d597a833-411c-41c6-9712-1733f5698944/signaling 200 9ms","method":"POST","requestID":"e1793ce0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/d597a833-411c-41c6-9712-1733f5698944/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e17aea90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bdee0b10-c439-4d54-b4ac-aa8e9fd732e9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.6534016} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.423203,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e17aea90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","object_type":"device","rebac_allow":false,"scope_allow":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":"e17aea90-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e17aea90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/signaling 200 8ms","method":"POST","requestID":"e17aea90-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"55d76675ab3f6454af4010c47f6ee410"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"55d76675ab3f6454af4010c47f6ee410","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6","requestID":"55d76675ab3f6454af4010c47f6ee410"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.842476,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"55d76675ab3f6454af4010c47f6ee410","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"55d76675ab3f6454af4010c47f6ee410","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6","requestID":"55d76675ab3f6454af4010c47f6ee410"} experiment-1 | {"level":"info","message":"GET /experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6 200 13ms","method":"GET","requestID":"55d76675ab3f6454af4010c47f6ee410","responseTime":13,"status":200,"url":"/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6 HTTP/1.1","status": "200","body_bytes_sent":"1293","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"55d76675ab3f6454af4010c47f6ee410"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"54c8961891f2b9cdfa15429e1ee9b0c9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"54c8961891f2b9cdfa15429e1ee9b0c9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6","requestID":"54c8961891f2b9cdfa15429e1ee9b0c9"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.834049,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"54c8961891f2b9cdfa15429e1ee9b0c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"54c8961891f2b9cdfa15429e1ee9b0c9","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Attempting to finish experiment","requestID":"54c8961891f2b9cdfa15429e1ee9b0c9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e1848780-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.985411,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e1848780-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e1848780-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/a5e0d237-ba46-4425-8575-cea670bae3ac?id=2a630376-7a3b-4aff-bd71-7efe58c854b9 HTTP/1.1","status": "101","body_bytes_sent":"916","request_time":"0.157","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"8c304be54ba2147784d8fee29daf43c0"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /rooms/a5e0d237-ba46-4425-8575-cea670bae3ac?id=0eb60a2c-2d15-467c-9e02-15303f9af41a HTTP/1.1","status": "101","body_bytes_sent":"0","request_time":"0.157","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"b474898781a1f67effbea8d32a9ac231"} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"2a630376-7a3b-4aff-bd71-7efe58c854b9\" in room \"http://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"2a630376-7a3b-4aff-bd71-7efe58c854b9\" from room \"http://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac\""} forwarding-1 | {"level":"info","message":"Stopping forwarding-queue for participant \"0eb60a2c-2d15-467c-9e02-15303f9af41a\" in room \"http://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac\""} forwarding-1 | {"level":"info","message":"websocket connection closed for participant \"0eb60a2c-2d15-467c-9e02-15303f9af41a\" from room \"http://localhost/rooms/a5e0d237-ba46-4425-8575-cea670bae3ac\""} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91221c3c-5c05-4548-a4e4-45d48dff1d39","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cb051931c901f2786ca39e7fe8d9ece6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"cb051931c901f2786ca39e7fe8d9ece6","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91221c3c-5c05-4548-a4e4-45d48dff1d39': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91221c3c-5c05-4548-a4e4-45d48dff1d39","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"07be0b54-ea9c-4e24-bd89-3182dcb18c34","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.735556} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53e0465a-6522-4294-8282-d5d919a339bc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.735565} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f99b4da68889ef77287a9a5573cfa935","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f99b4da68889ef77287a9a5573cfa935","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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39"}}},"level":"info","message":"received a callback","requestID":"cb051931c901f2786ca39e7fe8d9ece6"} 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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944"},{"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"}}],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8","H1","H2","H3","H4","H5","H6","H7","H8"]},"direction":"inout","interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["websocket"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2"}],"status":"closed","type":"websocket","url":"http://localhost/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39"}}},"level":"info","message":"received a callback","requestID":"f99b4da68889ef77287a9a5573cfa935"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"e1848780-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"91221c3c-5c05-4548-a4e4-45d48dff1d39","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e1848780-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39 204 44ms","method":"DELETE","requestID":"e1848780-7ad0-11ef-9247-9909de679d1e","responseTime":44,"status":204,"url":"/peerconnections/91221c3c-5c05-4548-a4e4-45d48dff1d39"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"},"level":"info","message":"Successfully finished experiment","requestID":"54c8961891f2b9cdfa15429e1ee9b0c9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e18dfd60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd597a833-411c-41c6-9712-1733f5698944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d48dbe2-6173-49ef-9304-ac96159db4f8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.7800746} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.346732,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e18dfd60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d597a833-411c-41c6-9712-1733f5698944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e18dfd60-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e18dfd60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/d597a833-411c-41c6-9712-1733f5698944/signaling 200 10ms","method":"POST","requestID":"e18dfd60-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/d597a833-411c-41c6-9712-1733f5698944/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e18fd220-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcc574625-1a9a-4cc9-b0d2-e8649c5b0ef6': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcc574625-1a9a-4cc9-b0d2-e8649c5b0ef6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"5fa13cd9-e915-45a3-b255-6b4d43755de8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.7894175} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93a15f24-452a-4075-98e3-0c20205c6750","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.7896647} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"54c8961891f2b9cdfa15429e1ee9b0c9","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6cfed6c6-1adf-4329-98fe-d15c360ea3d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25021618-ae1b-4174-b8b9-56eacf4380be","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.791908} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.337255,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e18fd220-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e18fd220-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e18fd220-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/signaling 200 11ms","method":"POST","requestID":"e18fd220-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6","requestID":"54c8961891f2b9cdfa15429e1ee9b0c9"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54c8961891f2b9cdfa15429e1ee9b0c9"} experiment-1 | {"level":"info","message":"DELETE /experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6 204 161ms","method":"DELETE","requestID":"54c8961891f2b9cdfa15429e1ee9b0c9","responseTime":161,"status":204,"url":"/experiments/cc574625-1a9a-4cc9-b0d2-e8649c5b0ef6"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2070","request_time":"0.595","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"d8e60dbbb4bc583de1046f0a8efda6ba"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2067","request_time":"0.608","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.10.6","requestID":"c1c8e9b2facad4052f6a03c9b842d962"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"cb051931c901f2786ca39e7fe8d9ece6","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"cb051931c901f2786ca39e7fe8d9ece6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"f99b4da68889ef77287a9a5573cfa935","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"f99b4da68889ef77287a9a5573cfa935"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"5f61e54c1e53d433e460322314814849"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5f61e54c1e53d433e460322314814849","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5f61e54c1e53d433e460322314814849"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6cfed6c6-1adf-4329-98fe-d15c360ea3d2' closed"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.950275,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5f61e54c1e53d433e460322314814849","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5f61e54c1e53d433e460322314814849","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/d597a833-411c-41c6-9712-1733f5698944' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"90ad6f48-63c8-4683-b2a9-05712e81b65c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.8892279} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5f61e54c1e53d433e460322314814849","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63b3abbd-b942-4633-a9f5-0673d24a5442","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.895754} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"5f61e54c1e53d433e460322314814849","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"19a69a30-55de-4f13-9687-3e9fa6f5898a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.9090474} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"773d304f-66e2-4346-83d0-4cd11a48485d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.910232} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"5f61e54c1e53d433e460322314814849","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.908988948Z"}]},"request_id":"c3687105-a613-485c-a740-7d0733ee6cb1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.9178286} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5f61e54c1e53d433e460322314814849","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5f61e54c1e53d433e460322314814849"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f61e54c1e53d433e460322314814849"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"5f61e54c1e53d433e460322314814849","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU","level":"info","message":"auth send jwt","requestID":"069834c9e19d6ed4f5d0e74af57145fa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"069834c9e19d6ed4f5d0e74af57145fa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"069834c9e19d6ed4f5d0e74af57145fa"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.771798,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"069834c9e19d6ed4f5d0e74af57145fa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222302,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwMn0.knmDQ9ErsmWSQNC8ncTqw1tq9ywgGs6YMVi5TIsM-fU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"069834c9e19d6ed4f5d0e74af57145fa","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c5cb93bb-7f93-41e7-bee8-d5037d4892fb","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.9483848} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"069834c9e19d6ed4f5d0e74af57145fa","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7bc09015-93d0-40ab-b8f0-7af998800118","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.9542208} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"069834c9e19d6ed4f5d0e74af57145fa","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"2c743fd3-2ba7-40d3-ab3a-8939a22b8f95","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.9649723} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01a9f6ef-146d-41a5-8a47-9d5a5da7c160","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.9650254} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"069834c9e19d6ed4f5d0e74af57145fa","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.964922289Z"}]},"request_id":"4e8f8ff0-8e36-4a71-b864-d318f8af2e42","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222302.969531} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"069834c9e19d6ed4f5d0e74af57145fa","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"069834c9e19d6ed4f5d0e74af57145fa"} gateway-1 | {"time_local":"24/Sep/2024:23:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"069834c9e19d6ed4f5d0e74af57145fa"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"069834c9e19d6ed4f5d0e74af57145fa","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ee1378b12905e076eea3dba804e29bab","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ee1378b12905e076eea3dba804e29bab","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1d1822d83465c41ad4260f198b1ddecd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1d1822d83465c41ad4260f198b1ddecd","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/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":"ee1378b12905e076eea3dba804e29bab"} device-1 | {"level":"info","message":"OPTIONS /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/websocket 200 1ms","method":"OPTIONS","requestID":"ee1378b12905e076eea3dba804e29bab","responseTime":1,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:58:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/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":"1d1822d83465c41ad4260f198b1ddecd"} device-1 | {"level":"info","message":"OPTIONS /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/websocket 200 2ms","method":"OPTIONS","requestID":"1d1822d83465c41ad4260f198b1ddecd","responseTime":2,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNH0.8-8PNlmEMyANVWkPcV5zU0orAQYx1wfeM-VfF9f0sqU","level":"info","message":"auth send jwt","requestID":"eb65e72808665bfa1f7d58bded600f12"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"eb65e72808665bfa1f7d58bded600f12","responseTime":7,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNH0.8-8PNlmEMyANVWkPcV5zU0orAQYx1wfeM-VfF9f0sqU","level":"info","message":"auth send jwt","requestID":"8ecd54308672e4a848058da769b9222c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"eb65e72808665bfa1f7d58bded600f12"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8ecd54308672e4a848058da769b9222c","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:24Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.458224,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8ecd54308672e4a848058da769b9222c"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"eb65e72808665bfa1f7d58bded600f12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222304,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNH0.8-8PNlmEMyANVWkPcV5zU0orAQYx1wfeM-VfF9f0sqU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"eb65e72808665bfa1f7d58bded600f12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:24Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212721,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8ecd54308672e4a848058da769b9222c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222304,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNH0.8-8PNlmEMyANVWkPcV5zU0orAQYx1wfeM-VfF9f0sqU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8ecd54308672e4a848058da769b9222c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"eb65e72808665bfa1f7d58bded600f12"} device-1 | {"level":"info","message":"POST /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/websocket 200 27ms","method":"POST","requestID":"eb65e72808665bfa1f7d58bded600f12","responseTime":27,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/websocket"} gateway-1 | {"time_local":"24/Sep/2024:23:58:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"eb65e72808665bfa1f7d58bded600f12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8ecd54308672e4a848058da769b9222c"} gateway-1 | {"time_local":"24/Sep/2024:23:58:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8ecd54308672e4a848058da769b9222c"} device-1 | {"level":"info","message":"POST /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/websocket 200 31ms","method":"POST","requestID":"8ecd54308672e4a848058da769b9222c","responseTime":31,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d7578d878388c6b3854b9814aaa3a13a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d7578d878388c6b3854b9814aaa3a13a","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"d7578d878388c6b3854b9814aaa3a13a"} device-1 | {"level":"info","message":"OPTIONS /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4? 200 0ms","method":"OPTIONS","requestID":"d7578d878388c6b3854b9814aaa3a13a","responseTime":0,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"88c40aaa360fbefeb89dec7ba27d973f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"88c40aaa360fbefeb89dec7ba27d973f","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12? 200 0ms","method":"OPTIONS","requestID":"88c40aaa360fbefeb89dec7ba27d973f","responseTime":0,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"88c40aaa360fbefeb89dec7ba27d973f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno","level":"info","message":"auth send jwt","requestID":"fee5b5dfe3672d5988867179c21e8b21"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fee5b5dfe3672d5988867179c21e8b21","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"fee5b5dfe3672d5988867179c21e8b21"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno","level":"info","message":"auth send jwt","requestID":"0c82479c78e3cd2ab70a3b3d63744a96"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.841012,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0c82479c78e3cd2ab70a3b3d63744a96","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"fee5b5dfe3672d5988867179c21e8b21","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fee5b5dfe3672d5988867179c21e8b21","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"0c82479c78e3cd2ab70a3b3d63744a96"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.088851,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0c82479c78e3cd2ab70a3b3d63744a96","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0c82479c78e3cd2ab70a3b3d63744a96","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.908988948Z"}]},"request_id":"bf92c433-0749-4652-9826-ce12bb607335","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.023686} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fee5b5dfe3672d5988867179c21e8b21","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.964922289Z"}]},"request_id":"b8c61ff5-dc5a-4bff-976d-1f818fc66085","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.0275636} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"0c82479c78e3cd2ab70a3b3d63744a96","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"479932d0-e20c-4288-bcd2-3332c043b8f0","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.0300949} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"fee5b5dfe3672d5988867179c21e8b21","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0a48e10-203c-495f-95df-5fcf7aedbc10","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.0354912} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0c82479c78e3cd2ab70a3b3d63744a96","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.908988948Z"}]},"request_id":"b4341982-242c-4ec4-856c-f67640806b56","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.045518} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fee5b5dfe3672d5988867179c21e8b21","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"fee5b5dfe3672d5988867179c21e8b21"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4? HTTP/1.1","status": "200","body_bytes_sent":"998","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":"fee5b5dfe3672d5988867179c21e8b21"} device-1 | {"level":"info","message":"PATCH /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4? 200 38ms","method":"PATCH","requestID":"fee5b5dfe3672d5988867179c21e8b21","responseTime":38,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.964922289Z"}]},"request_id":"47ad54fd-20d5-44da-8bad-83edc36b0b32","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.0567544} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0c82479c78e3cd2ab70a3b3d63744a96","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"0c82479c78e3cd2ab70a3b3d63744a96"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0c82479c78e3cd2ab70a3b3d63744a96"} device-1 | {"level":"info","message":"PATCH /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12? 200 43ms","method":"PATCH","requestID":"0c82479c78e3cd2ab70a3b3d63744a96","responseTime":43,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno","level":"info","message":"auth send jwt","requestID":"f6363f29a20c9753a106518993ed73a0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f6363f29a20c9753a106518993ed73a0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f6363f29a20c9753a106518993ed73a0"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831438,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f6363f29a20c9753a106518993ed73a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f6363f29a20c9753a106518993ed73a0","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.908988948Z"}]},"request_id":"1fc12d87-d689-4d09-a96c-f11f80941483","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.0816157} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f6363f29a20c9753a106518993ed73a0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f6363f29a20c9753a106518993ed73a0"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6363f29a20c9753a106518993ed73a0"} device-1 | {"level":"info","message":"GET /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4? 200 14ms","method":"GET","requestID":"f6363f29a20c9753a106518993ed73a0","responseTime":14,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno","level":"info","message":"auth send jwt","requestID":"6c1bf0eede83cb4165fac8cf8b1b46dc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6c1bf0eede83cb4165fac8cf8b1b46dc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6c1bf0eede83cb4165fac8cf8b1b46dc"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.882814,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"6c1bf0eede83cb4165fac8cf8b1b46dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6c1bf0eede83cb4165fac8cf8b1b46dc","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.964922289Z"}]},"request_id":"c520ee45-3f8c-4ab8-8c47-1d2913515a96","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.1018705} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6c1bf0eede83cb4165fac8cf8b1b46dc","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6c1bf0eede83cb4165fac8cf8b1b46dc"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c1bf0eede83cb4165fac8cf8b1b46dc"} device-1 | {"level":"info","message":"GET /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12? 200 15ms","method":"GET","requestID":"6c1bf0eede83cb4165fac8cf8b1b46dc","responseTime":15,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno","level":"info","message":"auth send jwt","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2c9817ac10959850ac00e05ecd30eb1d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.436212,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"2c9817ac10959850ac00e05ecd30eb1d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2c9817ac10959850ac00e05ecd30eb1d","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Attempting to run experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Attempting to book experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Successfully booked experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e2f889e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e2f8d800-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.503111,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e2f889e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e2f889e0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.143525,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e2f8d800-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e2f8d800-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.908988948Z"}]},"request_id":"b522501e-dc07-40e7-b600-9f51e0b2edf3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.1648624} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"e2f889e0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.964922289Z"}]},"request_id":"3ac8fa92-88df-4803-bf4c-a7a8d6944378","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.166072} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e2f8d800-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e2f889e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4? 200 22ms","method":"GET","requestID":"e2f889e0-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e2f8d800-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12? 200 22ms","method":"GET","requestID":"e2f8d800-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Setting up experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Successfully locked booking for experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Attempting to update booking for experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Successfully updated booking for experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Successfully set up experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e3038660-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e303d480-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Successfully running experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e30422a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925182,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e3038660-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e3038660-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.614358,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Received request.","req_id":1650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e303d480-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e303d480-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Sent response.","req_id":1650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.956443,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a293e822-529f-4672-b83d-39628ac13e95","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.2353878} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e30422a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","object_type":"device","rebac_allow":false,"scope_allow":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":"e30422a0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.908988948Z"}]},"request_id":"70232f50-c115-4c3d-aa6f-2ae1635c6905","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.2372475} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.964922289Z"}]},"request_id":"1a49767a-d75f-4ea2-8d0c-58a406b58320","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.2391841} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"e3038660-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e303d480-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e30422a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/signaling 200 21ms","method":"POST","requestID":"e30422a0-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F14da0bf5-07ca-46ac-8f47-b0e0b1dd4565#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F14da0bf5-07ca-46ac-8f47-b0e0b1dd4565","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a2c570c0-e0c0-4d73-8622-3bb748b7d721","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.247773} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e3038660-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"395c0934-3a36-47c2-975d-4bdf60171614","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.2481265} device-1 | {"level":"info","message":"GET /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4? 200 27ms","method":"GET","requestID":"e3038660-7ad0-11ef-9247-9909de679d1e","responseTime":27,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e307a510-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"2c9817ac10959850ac00e05ecd30eb1d","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e303d480-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12? 200 28ms","method":"GET","requestID":"e303d480-7ad0-11ef-9247-9909de679d1e","responseTime":28,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ce044cb-6676-48a9-a9d4-1c737aff5ef2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.2549815} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.005816,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3088f70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e307a510-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","object_type":"device","rebac_allow":false,"scope_allow":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":"e307a510-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"808","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 145ms","method":"POST","requestID":"2c9817ac10959850ac00e05ecd30eb1d","responseTime":145,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e307a510-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/signaling 200 11ms","method":"POST","requestID":"e307a510-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/signaling"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1f45d0b3-079c-4aba-8698-91385a345c00","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.2617917} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.481028,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e3088f70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","object_type":"device","rebac_allow":false,"scope_allow":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":"e3088f70-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno","level":"info","message":"auth send jwt","requestID":"80c92995745078492e68b7bbde4a6ceb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"80c92995745078492e68b7bbde4a6ceb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"80c92995745078492e68b7bbde4a6ceb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3088f70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/signaling 200 14ms","method":"POST","requestID":"e3088f70-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.075463,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"80c92995745078492e68b7bbde4a6ceb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"80c92995745078492e68b7bbde4a6ceb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e30b2780-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58: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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.908988948Z"}]},"request_id":"5c9a5ac7-ca98-42ba-a150-4fd0e0e575f4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.2775633} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ae79c99-6c0a-4dd4-a30b-4a484554e7b8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.2776759} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"80c92995745078492e68b7bbde4a6ceb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.746735,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e30b2780-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","object_type":"device","rebac_allow":false,"scope_allow":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":"e30b2780-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"80c92995745078492e68b7bbde4a6ceb"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80c92995745078492e68b7bbde4a6ceb"} device-1 | {"level":"info","message":"GET /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4? 200 17ms","method":"GET","requestID":"80c92995745078492e68b7bbde4a6ceb","responseTime":17,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e30b2780-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/signaling 200 12ms","method":"POST","requestID":"e30b2780-7ad0-11ef-9247-9909de679d1e","responseTime":12,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e30d4a60-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno","level":"info","message":"auth send jwt","requestID":"02dad59b947ebd89eb51e0dbba5e11da"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"02dad59b947ebd89eb51e0dbba5e11da","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e30d9880-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"02dad59b947ebd89eb51e0dbba5e11da"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.971799,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e30d4a60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e30d4a60-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.031676,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e30d9880-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e30d9880-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.84005,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"02dad59b947ebd89eb51e0dbba5e11da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"02dad59b947ebd89eb51e0dbba5e11da","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.908988948Z"}]},"request_id":"20b5a868-4c30-4a2a-8b5d-e7152e2298a3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.2974176} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e30d4a60-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.964922289Z"}]},"request_id":"8eedcea5-fdb4-4df9-bcb1-853f194ae9a8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.2999206} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e30d9880-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:22.964922289Z"}]},"request_id":"1690d175-7804-4214-80f3-fd7089076151","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.3023312} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"02dad59b947ebd89eb51e0dbba5e11da","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e30d4a60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4? 200 18ms","method":"GET","requestID":"e30d4a60-7ad0-11ef-9247-9909de679d1e","responseTime":18,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e30d9880-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12? 200 20ms","method":"GET","requestID":"e30d9880-7ad0-11ef-9247-9909de679d1e","responseTime":20,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"02dad59b947ebd89eb51e0dbba5e11da"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Building connection plan","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"08b35b61-de78-488d-8820-b1e02fa711e3"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"4a077a61-bac1-45dc-933d-297afb4eabe2"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"98b16be4-6579-472c-b2bb-353fa0ddd1a0"}]},"level":"info","message":"Built pairwise service configurations","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} device-1 | {"level":"info","message":"GET /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12? 200 20ms","method":"GET","requestID":"02dad59b947ebd89eb51e0dbba5e11da","responseTime":20,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"02dad59b947ebd89eb51e0dbba5e11da"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e310f3e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.71868,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e310f3e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e310f3e0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"32ff7a9d-d979-439f-ada0-b916b7e36922","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.3223412} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64c09e1f-8d88-43d0-9bd9-4982c2231b74","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.3226717} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"e310f3e0-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e310f3e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e310f3e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707'","requestID":"e310f3e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707'","requestID":"e310f3e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e310f3e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"e310f3e0-7ad0-11ef-9247-9909de679d1e","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"e310f3e0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"2c9817ac10959850ac00e05ecd30eb1d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e318bc10-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5179cf30-383d-42d5-95ff-047bb9295c55","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.3657763} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.05111,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e318bc10-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","object_type":"device","rebac_allow":false,"scope_allow":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":"e318bc10-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e318bc10-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/signaling 200 10ms","method":"POST","requestID":"e318bc10-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/signaling"} device-1 | {"device":"5979e51f-fb15-4705-997e-a3a8a6cbd4f4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5979e51f-fb15-4705-997e-a3a8a6cbd4f4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"a5cd943c-3d5f-4702-83c0-f269d0315c12","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a5cd943c-3d5f-4702-83c0-f269d0315c12","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e31a90d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfcbb4c4-7f60-4dda-9b2c-5f20fdd82463","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.3780637} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.358299,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e31a90d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","object_type":"device","rebac_allow":false,"scope_allow":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":"e31a90d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e31a90d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/signaling 200 10ms","method":"POST","requestID":"e31a90d0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 9182468550682736489 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:X60L\r\na=ice-pwd:25fi6EkFcSERYj4bOpLapV0N\r\na=ice-options:trickle\r\na=fingerprint:sha-256 8F:EB:BD:80:A8:F6:12:45:91:25:EC:34:E4:A8:E1:CB:0E:EC:24:EF:A1:07:38:4A:49:5E:18:D7:40:02:D2:09\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"a5cd943c-3d5f-4702-83c0-f269d0315c12","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 102386028052524419 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:EL06\r\na=ice-pwd:4+eRxxOb+a+rJfkcbpnQ6rh1\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C0:8D:65:E0:38:0C:10:DD:15:71:B6:92:4D:5A:6B:CD:B2:E7:99:F0:07:3E:9F:5C:B0:85:59:6A:9A:DA:7E:72\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"5979e51f-fb15-4705-997e-a3a8a6cbd4f4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:600677446 1 udp 2113937151 3ccaafae-bcd9-44b5-b04f-819952ffad03.local 34890 typ host generation 0 ufrag EL06 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5979e51f-fb15-4705-997e-a3a8a6cbd4f4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2816538169 1 udp 1677729535 141.24.211.56 34890 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag EL06 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5979e51f-fb15-4705-997e-a3a8a6cbd4f4","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/5979e51f-fb15-4705-997e-a3a8a6cbd4f4'"} device-1 | {"content":{"candidate":"candidate:764107218 1 udp 2113937151 df3dfd88-a45a-4b94-b94d-030d71ff174d.local 44596 typ host generation 0 ufrag X60L network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a5cd943c-3d5f-4702-83c0-f269d0315c12","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2846241709 1 udp 1677729535 141.24.211.56 44596 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag X60L network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a5cd943c-3d5f-4702-83c0-f269d0315c12","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/a5cd943c-3d5f-4702-83c0-f269d0315c12'"} device-1 | {"device":"a5cd943c-3d5f-4702-83c0-f269d0315c12","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/f89c7ddc-5e32-4f32-b6af-dc521ebb0707' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f89c7ddc-5e32-4f32-b6af-dc521ebb0707","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5979e51f-fb15-4705-997e-a3a8a6cbd4f4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"5979e51f-fb15-4705-997e-a3a8a6cbd4f4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0258eeb36cf11a80545a6019fba56452","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"a5cd943c-3d5f-4702-83c0-f269d0315c12","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0258eeb36cf11a80545a6019fba56452","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707"}}},"level":"info","message":"received a callback","requestID":"0258eeb36cf11a80545a6019fba56452"} device-1 | {"device":"a5cd943c-3d5f-4702-83c0-f269d0315c12","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5979e51f-fb15-4705-997e-a3a8a6cbd4f4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"0258eeb36cf11a80545a6019fba56452","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"0258eeb36cf11a80545a6019fba56452"} device-1 | {"data":{"peerconnection":"f89c7ddc-5e32-4f32-b6af-dc521ebb0707","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5979e51f-fb15-4705-997e-a3a8a6cbd4f4","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"f89c7ddc-5e32-4f32-b6af-dc521ebb0707","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/f89c7ddc-5e32-4f32-b6af-dc521ebb0707' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f89c7ddc-5e32-4f32-b6af-dc521ebb0707","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a2e8591c7ebda8f1ef9f14dbecd565f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a2e8591c7ebda8f1ef9f14dbecd565f2","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707"}}},"level":"info","message":"received a callback","requestID":"a2e8591c7ebda8f1ef9f14dbecd565f2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e3258d50-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff89c7ddc-5e32-4f32-b6af-dc521ebb0707","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6df3c710-a9d5-42b7-b288-92337be87618","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.4489772} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.200962,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e3258d50-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707","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":"e3258d50-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e3258d50-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707 200 7ms","method":"GET","requestID":"e3258d50-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"a2e8591c7ebda8f1ef9f14dbecd565f2","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"a2e8591c7ebda8f1ef9f14dbecd565f2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3289a90-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"302fbe94-2053-4118-bafe-bbc9d6453d93","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.4698744} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.270874,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e3289a90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e3289a90-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3289a90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/signaling 200 8ms","method":"POST","requestID":"e3289a90-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e32a2130-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bbc280f-a185-45b1-a850-e65fb97f6db6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.4793315} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.113148,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e32a2130-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","object_type":"device","rebac_allow":false,"scope_allow":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":"e32a2130-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e32a2130-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/signaling 200 8ms","method":"POST","requestID":"e32a2130-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno","level":"info","message":"auth send jwt","requestID":"1b034a2ad00e2531fe4abdd0f89323fa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1b034a2ad00e2531fe4abdd0f89323fa","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565","requestID":"1b034a2ad00e2531fe4abdd0f89323fa"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.692307,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"1b034a2ad00e2531fe4abdd0f89323fa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1b034a2ad00e2531fe4abdd0f89323fa","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565","requestID":"1b034a2ad00e2531fe4abdd0f89323fa"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565 HTTP/1.1","status": "200","body_bytes_sent":"881","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b034a2ad00e2531fe4abdd0f89323fa"} experiment-1 | {"level":"info","message":"GET /experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565 200 13ms","method":"GET","requestID":"1b034a2ad00e2531fe4abdd0f89323fa","responseTime":13,"status":200,"url":"/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno","level":"info","message":"auth send jwt","requestID":"33f7a06aa81e38ea20e71e5cd035c7c4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"33f7a06aa81e38ea20e71e5cd035c7c4","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565","requestID":"33f7a06aa81e38ea20e71e5cd035c7c4"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.128018,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"33f7a06aa81e38ea20e71e5cd035c7c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"33f7a06aa81e38ea20e71e5cd035c7c4","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Attempting to finish experiment","requestID":"33f7a06aa81e38ea20e71e5cd035c7c4"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e334f6a0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.680803,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e334f6a0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e334f6a0-7ad0-11ef-9247-9909de679d1e","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707","device":"a5cd943c-3d5f-4702-83c0-f269d0315c12","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707","device":"5979e51f-fb15-4705-997e-a3a8a6cbd4f4","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/f89c7ddc-5e32-4f32-b6af-dc521ebb0707' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f89c7ddc-5e32-4f32-b6af-dc521ebb0707","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff89c7ddc-5e32-4f32-b6af-dc521ebb0707': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff89c7ddc-5e32-4f32-b6af-dc521ebb0707","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"f93c817b-3590-4173-8912-db7ba3e24873","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.5644102} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5be01f72a1d45ef7f9f6ed49c5400dca","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2bac709-e04d-46e1-9043-00b5ea8489dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.564603} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5be01f72a1d45ef7f9f6ed49c5400dca","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707"}}},"level":"info","message":"received a callback","requestID":"5be01f72a1d45ef7f9f6ed49c5400dca"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"11279aa35a2336c76aad5802515a0f9f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"e334f6a0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"11279aa35a2336c76aad5802515a0f9f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707"}}},"level":"info","message":"received a callback","requestID":"11279aa35a2336c76aad5802515a0f9f"} device-1 | {"data":{"peerconnection":"f89c7ddc-5e32-4f32-b6af-dc521ebb0707","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e334f6a0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707 204 36ms","method":"DELETE","requestID":"e334f6a0-7ad0-11ef-9247-9909de679d1e","responseTime":36,"status":204,"url":"/peerconnections/f89c7ddc-5e32-4f32-b6af-dc521ebb0707"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"},"level":"info","message":"Successfully finished experiment","requestID":"33f7a06aa81e38ea20e71e5cd035c7c4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e33da930-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5979e51f-fb15-4705-997e-a3a8a6cbd4f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bebce15-69de-47f0-90bb-e6905edb83bd","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.6078455} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.239135,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e33da930-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4","object_type":"device","rebac_allow":false,"scope_allow":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":"e33da930-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e33da930-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/signaling 200 9ms","method":"POST","requestID":"e33da930-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e33f56e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F14da0bf5-07ca-46ac-8f47-b0e0b1dd4565': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F14da0bf5-07ca-46ac-8f47-b0e0b1dd4565","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"8fe13edf-7e8d-487e-b121-4bf5d036692b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.6148329} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a524115d-b639-4a36-8998-eb27fcef31ac","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.615029} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"33f7a06aa81e38ea20e71e5cd035c7c4","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5cd943c-3d5f-4702-83c0-f269d0315c12","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bf8f462-ff44-4d81-8909-fbc248899236","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.6194873} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.65898,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e33f56e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e33f56e0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e33f56e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/signaling 200 10ms","method":"POST","requestID":"e33f56e0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565","requestID":"33f7a06aa81e38ea20e71e5cd035c7c4"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33f7a06aa81e38ea20e71e5cd035c7c4"} experiment-1 | {"level":"info","message":"DELETE /experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565 204 139ms","method":"DELETE","requestID":"33f7a06aa81e38ea20e71e5cd035c7c4","responseTime":139,"status":204,"url":"/experiments/14da0bf5-07ca-46ac-8f47-b0e0b1dd4565"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"5be01f72a1d45ef7f9f6ed49c5400dca","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.110","http_referrer":"","http_user_agent":"node-fetch","requestID":"5be01f72a1d45ef7f9f6ed49c5400dca"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"11279aa35a2336c76aad5802515a0f9f","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.111","http_referrer":"","http_user_agent":"node-fetch","requestID":"11279aa35a2336c76aad5802515a0f9f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno","level":"info","message":"auth send jwt","requestID":"5236e24d1de9f457271be86b7fc060ec"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5236e24d1de9f457271be86b7fc060ec","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5236e24d1de9f457271be86b7fc060ec"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3078","request_time":"0.708","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"96c74de7fad912ff18959bbd4bda9ee1"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3077","request_time":"0.699","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a7a5bb3eb0bbb6f7dc67e1b9c5bd29ea"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a5cd943c-3d5f-4702-83c0-f269d0315c12' closed"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.80757,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"5236e24d1de9f457271be86b7fc060ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"5236e24d1de9f457271be86b7fc060ec","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5979e51f-fb15-4705-997e-a3a8a6cbd4f4' 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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F946cdd64-897e-4294-9da1-5fc051bd7388","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3e0c3836-9368-4a96-9065-7a7cf74e1094","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.7035983} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5236e24d1de9f457271be86b7fc060ec","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11c92b56-0b81-4fca-991e-e411446d15e8","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.7073662} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5236e24d1de9f457271be86b7fc060ec","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F946cdd64-897e-4294-9da1-5fc051bd7388","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"6cb3c26a-f521-4431-a483-bcbb1c86f19f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.7175636} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"520ffa42-d437-469d-92d5-267f53b182c1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.7177324} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"5236e24d1de9f457271be86b7fc060ec","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F946cdd64-897e-4294-9da1-5fc051bd7388","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F946cdd64-897e-4294-9da1-5fc051bd7388","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:25.717530608Z"}]},"request_id":"338fcb96-c7bb-4bea-a554-a127bfda406c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.7209842} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5236e24d1de9f457271be86b7fc060ec","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5236e24d1de9f457271be86b7fc060ec"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"434","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5236e24d1de9f457271be86b7fc060ec"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"5236e24d1de9f457271be86b7fc060ec","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno","level":"info","message":"auth send jwt","requestID":"ac6a4847c22e7ed0c76884fdef59327b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ac6a4847c22e7ed0c76884fdef59327b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ac6a4847c22e7ed0c76884fdef59327b"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.240394,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"ac6a4847c22e7ed0c76884fdef59327b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222305,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwNX0.iy7wt1fEpPk7JwyHef3ZNJZK5hEEtgtm2c9k51T5Lno"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ac6a4847c22e7ed0c76884fdef59327b","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"31d19262-b438-4f50-84d4-49890cccb8ad","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.7446926} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ac6a4847c22e7ed0c76884fdef59327b","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fae4a70c-1df3-48cb-9519-8d0144072d0d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.7498076} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ac6a4847c22e7ed0c76884fdef59327b","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"a9e23ec8-4c90-46cf-a128-5347d12decc9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.7665415} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2e68d11-89b6-4645-9943-9dd63c5b9852","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.7667518} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"ac6a4847c22e7ed0c76884fdef59327b","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:25.766487209Z"}]},"request_id":"a889c16c-5a41-4f56-a0d4-3bb482516a7c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222305.7718525} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ac6a4847c22e7ed0c76884fdef59327b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ac6a4847c22e7ed0c76884fdef59327b"} gateway-1 | {"time_local":"24/Sep/2024:23:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"437","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ac6a4847c22e7ed0c76884fdef59327b"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"ac6a4847c22e7ed0c76884fdef59327b","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6c0f44137dc8cad4c2497319a7f70e15","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6c0f44137dc8cad4c2497319a7f70e15","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/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":"6c0f44137dc8cad4c2497319a7f70e15"} device-1 | {"level":"info","message":"OPTIONS /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/websocket 200 0ms","method":"OPTIONS","requestID":"6c0f44137dc8cad4c2497319a7f70e15","responseTime":0,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ","level":"info","message":"auth send jwt","requestID":"8c2db0ae2ff3edea6c15ee06ba406c31"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8c2db0ae2ff3edea6c15ee06ba406c31","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8c2db0ae2ff3edea6c15ee06ba406c31"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.226582,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"8c2db0ae2ff3edea6c15ee06ba406c31","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8c2db0ae2ff3edea6c15ee06ba406c31","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8c2db0ae2ff3edea6c15ee06ba406c31"} gateway-1 | {"time_local":"24/Sep/2024:23:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/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":"8c2db0ae2ff3edea6c15ee06ba406c31"} device-1 | {"level":"info","message":"POST /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/websocket 200 24ms","method":"POST","requestID":"8c2db0ae2ff3edea6c15ee06ba406c31","responseTime":24,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a7bc8c1c80c76a5086cacc5a4d173238","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a7bc8c1c80c76a5086cacc5a4d173238","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"a7bc8c1c80c76a5086cacc5a4d173238"} device-1 | {"level":"info","message":"OPTIONS /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb? 200 1ms","method":"OPTIONS","requestID":"a7bc8c1c80c76a5086cacc5a4d173238","responseTime":1,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ","level":"info","message":"auth send jwt","requestID":"431a344d37ff70efde3a7b824301d878"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"431a344d37ff70efde3a7b824301d878","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"431a344d37ff70efde3a7b824301d878"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.32949,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"431a344d37ff70efde3a7b824301d878","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"431a344d37ff70efde3a7b824301d878","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:25.766487209Z"}]},"request_id":"ee0d18ab-37a5-4320-b840-3dd96fac8701","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222307.8474448} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"431a344d37ff70efde3a7b824301d878","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"358eb75e-b73a-46ca-a1d2-0e1d8e1f623c","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222307.8548794} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"431a344d37ff70efde3a7b824301d878","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:25.766487209Z"}]},"request_id":"e4115a1d-78ec-490c-a2d9-c7f4de85b681","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222307.8669157} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"431a344d37ff70efde3a7b824301d878","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"431a344d37ff70efde3a7b824301d878"} device-1 | {"level":"info","message":"PATCH /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb? 200 38ms","method":"PATCH","requestID":"431a344d37ff70efde3a7b824301d878","responseTime":38,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb?"} gateway-1 | {"time_local":"24/Sep/2024:23:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"431a344d37ff70efde3a7b824301d878"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ","level":"info","message":"auth send jwt","requestID":"d63e8934743a49101b6b9db3e91ec9d9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d63e8934743a49101b6b9db3e91ec9d9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d63e8934743a49101b6b9db3e91ec9d9"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.184181,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"d63e8934743a49101b6b9db3e91ec9d9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d63e8934743a49101b6b9db3e91ec9d9","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:25.766487209Z"}]},"request_id":"d28e8280-7f9a-4427-9d98-45643c44287a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222307.8958898} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d63e8934743a49101b6b9db3e91ec9d9","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d63e8934743a49101b6b9db3e91ec9d9"} gateway-1 | {"time_local":"24/Sep/2024:23:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d63e8934743a49101b6b9db3e91ec9d9"} device-1 | {"level":"info","message":"GET /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb? 200 17ms","method":"GET","requestID":"d63e8934743a49101b6b9db3e91ec9d9","responseTime":17,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ","level":"info","message":"auth send jwt","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.243568,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"0c7e9c7487e9313bbcac83ee2e1c9043","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Attempting to run experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Attempting to book experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Successfully booked experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4a37ac0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4a3c8e0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724832,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/946cdd64-897e-4294-9da1-5fc051bd7388","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e4a37ac0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/946cdd64-897e-4294-9da1-5fc051bd7388","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e4a37ac0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703651,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e4a3c8e0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e4a3c8e0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F946cdd64-897e-4294-9da1-5fc051bd7388","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F946cdd64-897e-4294-9da1-5fc051bd7388","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:25.717530608Z"}]},"request_id":"e735cf44-17dc-445d-ac8d-ba39dd689948","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222307.9568653} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e4a37ac0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:25.766487209Z"}]},"request_id":"fb026699-d667-4454-b0b5-4616581866f6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222307.9581275} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e4a3c8e0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4a37ac0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/946cdd64-897e-4294-9da1-5fc051bd7388? 200 16ms","method":"GET","requestID":"e4a37ac0-7ad0-11ef-9247-9909de679d1e","responseTime":16,"status":200,"url":"/devices/946cdd64-897e-4294-9da1-5fc051bd7388?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4a3c8e0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb? 200 15ms","method":"GET","requestID":"e4a3c8e0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Setting up experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Successfully locked booking for experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"e4a8d1f0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.099532,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:27Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/946cdd64-897e-4294-9da1-5fc051bd7388","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e4a8d1f0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/946cdd64-897e-4294-9da1-5fc051bd7388","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e4a8d1f0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"531dcddc-ff06-47c6-ae71-1b0ab1b11e5f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222308.0113983} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a2f845b-afbf-44ad-926a-84324e44a3e1","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222308.0117111} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"e4a8d1f0-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006' to 'http://localhost/callbacks/experiment'","requestID":"e4a8d1f0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"e4a8d1f0-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"POST /token 201 27ms","method":"POST","requestID":"e4aec560-7ad0-11ef-8806-155c934c4523","responseTime":27,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/946cdd64-897e-4294-9da1-5fc051bd7388?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 73ms","method":"POST","requestID":"e4a8d1f0-7ad0-11ef-9247-9909de679d1e","responseTime":73,"status":201,"url":"/devices/946cdd64-897e-4294-9da1-5fc051bd7388?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Attempting to update booking for experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Successfully updated booking for experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Successfully set up experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4bb6f90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4bbbdb0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e4bbe4c0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Successfully running experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.381033,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Received request.","req_id":1679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e4bb6f90-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e4bb6f90-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43914","level":"info","msg":"Sent response.","req_id":1679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.153445,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Received request.","req_id":1680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e4bbbdb0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e4bbbdb0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ebe85312-d48e-4209-9c4d-dabd4ca77149","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222308.1145685} authorization-1 | {"client_addr":"127.0.0.1:57868","level":"info","msg":"Sent response.","req_id":1680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.422031,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e4bbe4c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","object_type":"device","rebac_allow":false,"scope_allow":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":"e4bbe4c0-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:28.011341222Z"}]},"request_id":"6e3d5292-466d-4323-90f2-6f1ff91128ae","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222308.1189957} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e4bb6f90-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:25.766487209Z"}]},"request_id":"48f8c8cd-f61d-48b7-a157-99cc67114da9","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222308.1217086} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 0d37415e-2daf-42bb-9297-653823053006","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 0d37415e-2daf-42bb-9297-653823053006\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/0d37415e-2daf-42bb-9297-653823053006/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"e4bbe4c0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e4bbbdb0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/0d37415e-2daf-42bb-9297-653823053006/signaling 404 15ms","method":"POST","requestID":"e4bbe4c0-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":404,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 0d37415e-2daf-42bb-9297-653823053006"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F688560c9-fb96-41fd-be4f-47b15ea30996#owner@http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F688560c9-fb96-41fd-be4f-47b15ea30996","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"2dfc19d1-f318-42f1-b61e-a4ca1228377e","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222308.1258025} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46dcf12d-83ba-4bc0-80ef-b53f7788c4cf","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222308.1261306} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e4becaf0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:28Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4bb6f90-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/0d37415e-2daf-42bb-9297-653823053006? 200 27ms","method":"GET","requestID":"e4bb6f90-7ad0-11ef-9247-9909de679d1e","responseTime":27,"status":200,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4bbbdb0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fccbc7b8-8f1d-4635-938d-758e91aa4f0f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222308.1337552} device-1 | {"level":"info","message":"GET /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb? 200 27ms","method":"GET","requestID":"e4bbbdb0-7ad0-11ef-9247-9909de679d1e","responseTime":27,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb?"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.999108,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e4becaf0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","rebac_allow":false,"scope_allow":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":"e4becaf0-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996","user":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e4becaf0-7ad0-11ef-9247-9909de679d1e"} gateway-1 | {"time_local":"24/Sep/2024:23:58:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1108","request_time":"0.236","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} experiment-1 | {"level":"info","message":"POST /experiments? 201 230ms","method":"POST","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043","responseTime":230,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/signaling 200 17ms","method":"POST","requestID":"e4becaf0-7ad0-11ef-9247-9909de679d1e","responseTime":17,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"be71b145c4e8ec8b8555dce6b093b28f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"be71b145c4e8ec8b8555dce6b093b28f","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0d37415e-2daf-42bb-9297-653823053006/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":"be71b145c4e8ec8b8555dce6b093b28f"} device-1 | {"level":"info","message":"OPTIONS /devices/0d37415e-2daf-42bb-9297-653823053006/websocket 200 1ms","method":"OPTIONS","requestID":"be71b145c4e8ec8b8555dce6b093b28f","responseTime":1,"status":200,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IldwSHlLMnhsYlQ3TlZtcVF1cjhIdkNjNVRERXE4OGlOQ2NSWUlhd0pJaldxVVBSOFBHNGxoNlltMk1DYWdqelRiUXZpY1RxbWctS1hKLTU4R1dHSUJBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxMH0.fEQoMWZ0HORF1P6gBC23aoX9W4HwF1b9hbsOu3QAmaw","level":"info","message":"auth send jwt","requestID":"28612fe8d546423876b24b155ff3d5eb"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"28612fe8d546423876b24b155ff3d5eb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"28612fe8d546423876b24b155ff3d5eb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.277619,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"28612fe8d546423876b24b155ff3d5eb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","object_type":"device","payload":{"admin":true,"edgeToken":"WpHyK2xlbT7NVmqQur8HvCc5TDEq88iNCcRYIawJIjWqUPR8PG4lh6Ym2MCagjzTbQvicTqmg-KXJ-58GWGIBA","iat":1727222310,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IldwSHlLMnhsYlQ3TlZtcVF1cjhIdkNjNVRERXE4OGlOQ2NSWUlhd0pJaldxVVBSOFBHNGxoNlltMk1DYWdqelRiUXZpY1RxbWctS1hKLTU4R1dHSUJBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxMH0.fEQoMWZ0HORF1P6gBC23aoX9W4HwF1b9hbsOu3QAmaw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"28612fe8d546423876b24b155ff3d5eb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"28612fe8d546423876b24b155ff3d5eb"} gateway-1 | {"time_local":"24/Sep/2024:23:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0d37415e-2daf-42bb-9297-653823053006/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":"28612fe8d546423876b24b155ff3d5eb"} device-1 | {"level":"info","message":"POST /devices/0d37415e-2daf-42bb-9297-653823053006/websocket 200 22ms","method":"POST","requestID":"28612fe8d546423876b24b155ff3d5eb","responseTime":22,"status":200,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7c8ff1061af9fbff9367844e0eadb9df","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"7c8ff1061af9fbff9367844e0eadb9df","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"codeUrl":"http://localhost/cloud_instantiable_device","connected":true,"description":"A JS test device","devices":[],"instantiateUrl":"http://localhost/edge_instantiable_device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"7c8ff1061af9fbff9367844e0eadb9df"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2897d153f7bb4dfda304d423be3a695f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2897d153f7bb4dfda304d423be3a695f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"24/Sep/2024:23:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0d37415e-2daf-42bb-9297-653823053006? HTTP/1.1","status": "200","body_bytes_sent":"26","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":"2897d153f7bb4dfda304d423be3a695f"} device-1 | {"level":"info","message":"OPTIONS /devices/0d37415e-2daf-42bb-9297-653823053006? 200 1ms","method":"OPTIONS","requestID":"2897d153f7bb4dfda304d423be3a695f","responseTime":1,"status":200,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006?"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 18ms","method":"POST","requestID":"7c8ff1061af9fbff9367844e0eadb9df","responseTime":18,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.021","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c8ff1061af9fbff9367844e0eadb9df"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IldwSHlLMnhsYlQ3TlZtcVF1cjhIdkNjNVRERXE4OGlOQ2NSWUlhd0pJaldxVVBSOFBHNGxoNlltMk1DYWdqelRiUXZpY1RxbWctS1hKLTU4R1dHSUJBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxMH0.fEQoMWZ0HORF1P6gBC23aoX9W4HwF1b9hbsOu3QAmaw","level":"info","message":"auth send jwt","requestID":"79a432e1a6d67fb4b453f6d8156e6912"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"79a432e1a6d67fb4b453f6d8156e6912","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"79a432e1a6d67fb4b453f6d8156e6912"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.729269,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"79a432e1a6d67fb4b453f6d8156e6912","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","object_type":"device","payload":{"admin":true,"edgeToken":"WpHyK2xlbT7NVmqQur8HvCc5TDEq88iNCcRYIawJIjWqUPR8PG4lh6Ym2MCagjzTbQvicTqmg-KXJ-58GWGIBA","iat":1727222310,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IldwSHlLMnhsYlQ3TlZtcVF1cjhIdkNjNVRERXE4OGlOQ2NSWUlhd0pJaldxVVBSOFBHNGxoNlltMk1DYWdqelRiUXZpY1RxbWctS1hKLTU4R1dHSUJBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxMH0.fEQoMWZ0HORF1P6gBC23aoX9W4HwF1b9hbsOu3QAmaw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"79a432e1a6d67fb4b453f6d8156e6912","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:28.011341222Z"}]},"request_id":"35d86ede-e1b3-4b35-a09f-e741578d99dc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222310.2171004} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"79a432e1a6d67fb4b453f6d8156e6912","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:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ac4cf2a-48b3-4f30-9c61-1b571d9941b6","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222310.22423} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"79a432e1a6d67fb4b453f6d8156e6912","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:28.011341222Z"}]},"request_id":"de01415e-a0bb-475b-8932-23e2df8e7b67","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222310.239391} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"79a432e1a6d67fb4b453f6d8156e6912","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006' to 'http://localhost/callbacks/experiment'","requestID":"79a432e1a6d67fb4b453f6d8156e6912"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"79a432e1a6d67fb4b453f6d8156e6912"} gateway-1 | {"time_local":"24/Sep/2024:23:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0d37415e-2daf-42bb-9297-653823053006? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"79a432e1a6d67fb4b453f6d8156e6912"} device-1 | {"level":"info","message":"PATCH /devices/0d37415e-2daf-42bb-9297-653823053006? 200 42ms","method":"PATCH","requestID":"79a432e1a6d67fb4b453f6d8156e6912","responseTime":42,"status":200,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"711fb0757d037b52e7c5b821e27484fb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"711fb0757d037b52e7c5b821e27484fb","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"codeUrl":"http://localhost/cloud_instantiable_device","connected":true,"description":"A JS test device","devices":[],"instantiateUrl":"http://localhost/edge_instantiable_device","isPublic":true,"name":"JS Device 1","services":[{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},{"serviceDirection":"producer","serviceId":"file_producer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]},{"serviceDirection":"consumer","serviceId":"file_consumer","serviceType":"https://api.goldi-labs.de/serviceTypes/file","supportedConnectionTypes":["webrtc"]}],"type":"device","url":"http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"711fb0757d037b52e7c5b821e27484fb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"711fb0757d037b52e7c5b821e27484fb","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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":"711fb0757d037b52e7c5b821e27484fb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxMH0.lMw2Nk4bw-mcFPUx7Edf2oMoH-HrXNDFE8ym-MYr-5k","level":"info","message":"auth send jwt","requestID":"f19e169b9e1eee1aadb5fe73332b788c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f19e169b9e1eee1aadb5fe73332b788c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f19e169b9e1eee1aadb5fe73332b788c"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.158626,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"f19e169b9e1eee1aadb5fe73332b788c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222310,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxMH0.lMw2Nk4bw-mcFPUx7Edf2oMoH-HrXNDFE8ym-MYr-5k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f19e169b9e1eee1aadb5fe73332b788c","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:28.011341222Z"}]},"request_id":"e989a020-ed95-469b-93de-482039e00120","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222310.2693212} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f19e169b9e1eee1aadb5fe73332b788c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f19e169b9e1eee1aadb5fe73332b788c"} gateway-1 | {"time_local":"24/Sep/2024:23:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0d37415e-2daf-42bb-9297-653823053006? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f19e169b9e1eee1aadb5fe73332b788c"} device-1 | {"level":"info","message":"GET /devices/0d37415e-2daf-42bb-9297-653823053006? 200 16ms","method":"GET","requestID":"f19e169b9e1eee1aadb5fe73332b788c","responseTime":16,"status":200,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxMH0.lMw2Nk4bw-mcFPUx7Edf2oMoH-HrXNDFE8ym-MYr-5k","level":"info","message":"auth send jwt","requestID":"bf96fa8c4933efe2abe231b350e15767"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"bf96fa8c4933efe2abe231b350e15767","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bf96fa8c4933efe2abe231b350e15767"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:30Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.128659,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"bf96fa8c4933efe2abe231b350e15767","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222310,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxMH0.lMw2Nk4bw-mcFPUx7Edf2oMoH-HrXNDFE8ym-MYr-5k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bf96fa8c4933efe2abe231b350e15767","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:25.766487209Z"}]},"request_id":"b1489ee5-aaa7-4238-9ec2-d1ef6a54462a","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222310.2942698} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bf96fa8c4933efe2abe231b350e15767","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bf96fa8c4933efe2abe231b350e15767"} gateway-1 | {"time_local":"24/Sep/2024:23:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb? HTTP/1.1","status": "200","body_bytes_sent":"998","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf96fa8c4933efe2abe231b350e15767"} device-1 | {"level":"info","message":"GET /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb? 200 15ms","method":"GET","requestID":"bf96fa8c4933efe2abe231b350e15767","responseTime":15,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e7bbb740-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e7bc0560-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.724334,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7bbb740-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e7bbb740-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41304","level":"info","msg":"Received request.","req_id":1687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"client_addr":"127.0.0.1:41304","level":"info","msg":"Sent response.","req_id":1687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.832207,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7bc0560-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"e7bc0560-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:28.011341222Z"}]},"request_id":"2e243a3e-8894-4c49-bb67-2be6cf2e0a81","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.154098} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e7bbb740-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:25.766487209Z"}]},"request_id":"a7c742ec-46c3-4deb-b15e-c44c3ee2f2af","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.1593566} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e7bbb740-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e7bc0560-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/0d37415e-2daf-42bb-9297-653823053006? 200 21ms","method":"GET","requestID":"e7bbb740-7ad0-11ef-9247-9909de679d1e","responseTime":21,"status":200,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e7bc0560-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb? 200 24ms","method":"GET","requestID":"e7bc0560-7ad0-11ef-9247-9909de679d1e","responseTime":24,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7c02410-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97af1f25-c5d3-4586-a9b7-f8565f44d1ea","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.175756} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.012209,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7c02410-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","object_type":"device","rebac_allow":false,"scope_allow":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":"e7c02410-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7c02410-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0d37415e-2daf-42bb-9297-653823053006/signaling 200 14ms","method":"POST","requestID":"e7c02410-7ad0-11ef-9247-9909de679d1e","responseTime":14,"status":200,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7c2bc20-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9fc4453-cbbb-4e2d-8708-ebd8c4352dcc","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.1937559} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.104504,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7c2bc20-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","rebac_allow":false,"scope_allow":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":"e7c2bc20-7ad0-11ef-9247-9909de679d1e","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7c2bc20-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/signaling 200 15ms","method":"POST","requestID":"e7c2bc20-7ad0-11ef-9247-9909de679d1e","responseTime":15,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e7c57b40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e7c5f070-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.20046,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"client_addr":"127.0.0.1:41304","level":"info","msg":"Received request.","req_id":1691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7c57b40-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e7c57b40-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41304","level":"info","msg":"Sent response.","req_id":1691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.201579,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7c5f070-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e7c5f070-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:28.011341222Z"}]},"request_id":"48de0526-cd6a-4869-8a03-9addeee0b25f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.2198384} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e7c57b40-7ad0-11ef-9247-9909de679d1e","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:58648","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"timestamp":"2024-09-24T23:58:25.766487209Z"}]},"request_id":"7955cb6a-5a3b-4b81-8ace-d4865d1c3153","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.2215145} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e7c5f070-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e7c57b40-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/0d37415e-2daf-42bb-9297-653823053006? 200 28ms","method":"GET","requestID":"e7c57b40-7ad0-11ef-9247-9909de679d1e","responseTime":28,"status":200,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e7c5f070-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb? 200 27ms","method":"GET","requestID":"e7c5f070-7ad0-11ef-9247-9909de679d1e","responseTime":27,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Building connection plan","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"93a7375b-1707-448f-a3ae-a88d54df175c"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"8197198f-d457-497a-8499-2b7802c69e04"}],"serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","uuid":"d71e14ae-53d6-4d8c-b8de-8c76934d93d9"}]},"level":"info","message":"Built pairwise service configurations","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} experiment-1 | {"data":{"connectionPlan":[{"configuration":{"iceServers":[{"urls":"stun:stun.goldi-labs.de:3478"},{"credential":"goldi","urls":"turn:turn.goldi-labs.de:3478","username":"goldi"}]},"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e7caab60-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.217805,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7caab60-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222307,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMwN30.l8WaljLafK0Np_nI-CabDxH866N9zXEr3rxhl6bPIzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e7caab60-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73'. 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]}},"raw_response":{},"request_id":"47e95b01-1404-4bf1-a906-08bb7390cb87","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.256307} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc2f13e8-d659-42f7-b063-70bdf2489846","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.256819} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"e7caab60-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e7caab60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e7caab60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea'","requestID":"e7caab60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea'","requestID":"e7caab60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e7caab60-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"e7caab60-7ad0-11ef-9247-9909de679d1e","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"e7caab60-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"0c7e9c7487e9313bbcac83ee2e1c9043"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7d66b30-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a863d77-f140-4a7e-bb03-09b10ff673ea","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.3199685} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.029718,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7d66b30-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","object_type":"device","rebac_allow":false,"scope_allow":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":"e7d66b30-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"0d37415e-2daf-42bb-9297-653823053006","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0d37415e-2daf-42bb-9297-653823053006","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7d66b30-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0d37415e-2daf-42bb-9297-653823053006/signaling 200 11ms","method":"POST","requestID":"e7d66b30-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7d86700-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31f3a104-17eb-41aa-a533-18e68141fbf4","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.333343} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.120808,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7d86700-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","rebac_allow":false,"scope_allow":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":"e7d86700-7ad0-11ef-9247-9909de679d1e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 2439626448178593340 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:MoyV\r\na=ice-pwd:SQDjFxNlvJSJuVK9+RejRMGU\r\na=ice-options:trickle\r\na=fingerprint:sha-256 47:F2:BF:0F:C7:63:0F:4C:70:E9:62:42:52:1D:F1:9B:2D:5E:A5:0F:8F:F1:16:68:EA:10:FC:86:87:95:10:56\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"0d37415e-2daf-42bb-9297-653823053006","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7d86700-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/signaling 200 11ms","method":"POST","requestID":"e7d86700-7ad0-11ef-9247-9909de679d1e","responseTime":11,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 7765000702406916137 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:Mlns\r\na=ice-pwd:S+zkBc6YRUevbmRGOqwRA2zG\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F4:83:9A:83:2B:12:BC:2C:8A:58:57:AE:67:E3:00:8A:86:91:44:84:B8:29:B3:6A:DE:01:52:F2:7D:13:08:50\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1164761941 1 udp 2113937151 1d8e2443-a85a-4869-ba66-f661e8727b4f.local 59270 typ host generation 0 ufrag Mlns network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3242307882 1 udp 1677729535 141.24.211.56 59270 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag Mlns network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","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/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb'"} device-1 | {"content":{"candidate":"candidate:63280959 1 udp 2113937151 fe15eb64-0ed8-4bba-88d4-c2e4e381c981.local 57541 typ host generation 0 ufrag MoyV network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0d37415e-2daf-42bb-9297-653823053006","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2431530540 1 udp 1677729535 141.24.211.56 57541 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag MoyV network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0d37415e-2daf-42bb-9297-653823053006","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/0d37415e-2daf-42bb-9297-653823053006'"} device-1 | {"device":"0d37415e-2daf-42bb-9297-653823053006","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","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/e42de465-f553-46b1-8cc3-9f2c497b0bea' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e42de465-f553-46b1-8cc3-9f2c497b0bea","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0d37415e-2daf-42bb-9297-653823053006","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3e3a17da4ce5da08754a7bcd6a9f9a47","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"3e3a17da4ce5da08754a7bcd6a9f9a47","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"0d37415e-2daf-42bb-9297-653823053006","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":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea"}}},"level":"info","message":"received a callback","requestID":"3e3a17da4ce5da08754a7bcd6a9f9a47"} device-1 | {"device":"49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"3e3a17da4ce5da08754a7bcd6a9f9a47","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"3e3a17da4ce5da08754a7bcd6a9f9a47"} device-1 | {"device":"49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"e42de465-f553-46b1-8cc3-9f2c497b0bea","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e42de465-f553-46b1-8cc3-9f2c497b0bea","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/e42de465-f553-46b1-8cc3-9f2c497b0bea' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e42de465-f553-46b1-8cc3-9f2c497b0bea","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f93559d2ea548dd593a00240f9422e75","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f93559d2ea548dd593a00240f9422e75","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea"}}},"level":"info","message":"received a callback","requestID":"f93559d2ea548dd593a00240f9422e75"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e7e33c70-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe42de465-f553-46b1-8cc3-9f2c497b0bea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edf1c7cb-986f-45f8-9066-7872d5dadd5f","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.403088} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.070142,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7e33c70-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea","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":"e7e33c70-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e7e33c70-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"GET /peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea 200 7ms","method":"GET","requestID":"e7e33c70-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"f93559d2ea548dd593a00240f9422e75","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"f93559d2ea548dd593a00240f9422e75"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7e7a940-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1165f8c1-84b9-47fc-ae17-09e9e1c4612d","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.4320116} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.136349,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7e7a940-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","rebac_allow":false,"scope_allow":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":"e7e7a940-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7e7a940-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/signaling 200 7ms","method":"POST","requestID":"e7e7a940-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7e908d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3fa5087d-d651-47ee-b7ad-b3006d898397","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.4412632} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.152672,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7e908d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","object_type":"device","rebac_allow":false,"scope_allow":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":"e7e908d0-7ad0-11ef-9247-9909de679d1e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7e908d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0d37415e-2daf-42bb-9297-653823053006/signaling 200 8ms","method":"POST","requestID":"e7e908d0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxM30.GobSlcKbicUMzeGS3VvczwLs0qUjru2kZo5tyUOzFZk","level":"info","message":"auth send jwt","requestID":"09798697b50e10ecca4d2706b7a87beb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"09798697b50e10ecca4d2706b7a87beb","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/688560c9-fb96-41fd-be4f-47b15ea30996","requestID":"09798697b50e10ecca4d2706b7a87beb"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.64188,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"09798697b50e10ecca4d2706b7a87beb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222313,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxM30.GobSlcKbicUMzeGS3VvczwLs0qUjru2kZo5tyUOzFZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"09798697b50e10ecca4d2706b7a87beb","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/688560c9-fb96-41fd-be4f-47b15ea30996","requestID":"09798697b50e10ecca4d2706b7a87beb"} gateway-1 | {"time_local":"24/Sep/2024:23:58:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/688560c9-fb96-41fd-be4f-47b15ea30996 HTTP/1.1","status": "200","body_bytes_sent":"1181","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09798697b50e10ecca4d2706b7a87beb"} experiment-1 | {"level":"info","message":"GET /experiments/688560c9-fb96-41fd-be4f-47b15ea30996 200 10ms","method":"GET","requestID":"09798697b50e10ecca4d2706b7a87beb","responseTime":10,"status":200,"url":"/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxM30.GobSlcKbicUMzeGS3VvczwLs0qUjru2kZo5tyUOzFZk","level":"info","message":"auth send jwt","requestID":"4ece83476a4bbcd4fab9d98ccb77fca4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4ece83476a4bbcd4fab9d98ccb77fca4","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/688560c9-fb96-41fd-be4f-47b15ea30996","requestID":"4ece83476a4bbcd4fab9d98ccb77fca4"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.924104,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"4ece83476a4bbcd4fab9d98ccb77fca4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"experiment:http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996","object_type":"experiment","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222313,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxM30.GobSlcKbicUMzeGS3VvczwLs0qUjru2kZo5tyUOzFZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4ece83476a4bbcd4fab9d98ccb77fca4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Attempting to finish experiment","requestID":"4ece83476a4bbcd4fab9d98ccb77fca4"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e7f19450-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.646069,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7f19450-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"peerconnection:http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222313,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxM30.GobSlcKbicUMzeGS3VvczwLs0qUjru2kZo5tyUOzFZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e7f19450-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea","device":"49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea","device":"0d37415e-2daf-42bb-9297-653823053006","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/e42de465-f553-46b1-8cc3-9f2c497b0bea' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e42de465-f553-46b1-8cc3-9f2c497b0bea","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe42de465-f553-46b1-8cc3-9f2c497b0bea': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe42de465-f553-46b1-8cc3-9f2c497b0bea","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"316c5abd-2ed8-4d86-bd2f-84bdeba3b3d3","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.51014} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0781cc1-a557-4898-a890-d99a8fabe504","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.5103602} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"e7f19450-7ad0-11ef-9247-9909de679d1e","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"47350c9bd6a39553313624f88b769e76","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"47350c9bd6a39553313624f88b769e76","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea"}}},"level":"info","message":"received a callback","requestID":"47350c9bd6a39553313624f88b769e76"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7356848bae39d659fa70105750e2bcaf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e7f19450-7ad0-11ef-9247-9909de679d1e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7356848bae39d659fa70105750e2bcaf","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"DELETE /peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea 204 22ms","method":"DELETE","requestID":"e7f19450-7ad0-11ef-9247-9909de679d1e","responseTime":22,"status":204,"url":"/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"e7f516c0-7ad0-11ef-9247-9909de679d1e"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb"},{"config":{"services":[{"interfaces":[],"remoteServiceDescription":{"interfaces":[{"availableSignals":{"gpio":["gpio1","gpio2"]},"interfaceType":"gpio"}],"serviceDirection":"prosumer","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical","supportedConnectionTypes":["webrtc"]},"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"https://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e42de465-f553-46b1-8cc3-9f2c497b0bea"}}},"level":"info","message":"received a callback","requestID":"7356848bae39d659fa70105750e2bcaf"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667597,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7f516c0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","object_type":"device","payload":{"admin":true,"edgeToken":"QazSnwjtBesAdclxdMd_MQGfWJmbqOIk8KmdGRUUn-4SUHz_Rzk5IAZROXt1UVqsApE83TmgjlDOW3r2jM0QIQ","iat":1727222313,"sub":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73","subject_alt":"http://localhost/users/5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzVjZDRiYzllLTMxNjYtNGQ2YS1hNDliLTMwY2UyOThkMGE3MyIsImVkZ2VUb2tlbiI6IlFhelNud2p0QmVzQWRjbHhkTWRfTVFHZldKbWJxT0lrOEttZEdSVVVuLTRTVUh6X1J6azVJQVpST1h0MVVWcXNBcEU4M1RtZ2psRE9XM3Iyak0wUUlRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyNzIyMjMxM30.GobSlcKbicUMzeGS3VvczwLs0qUjru2kZo5tyUOzFZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e7f516c0-7ad0-11ef-9247-9909de679d1e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006'"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"4dba15c4-2e6b-4c4d-815e-9125c43f77f2","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.5342615} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3ed2d96-daf0-4046-a46a-57c20249c513","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.5345707} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"e7f516c0-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"e7f516c0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"DELETE /devices/0d37415e-2daf-42bb-9297-653823053006 204 31ms","method":"DELETE","requestID":"e7f516c0-7ad0-11ef-9247-9909de679d1e","responseTime":31,"status":204,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"},"level":"info","message":"Successfully finished experiment","requestID":"4ece83476a4bbcd4fab9d98ccb77fca4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7fc90d0-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"831d6e53-c27f-4125-817b-5c267766a444","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.5697155} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.430595,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7fc90d0-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e7fc90d0-7ad0-11ef-9247-9909de679d1e","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7fc90d0-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/signaling 200 8ms","method":"POST","requestID":"e7fc90d0-7ad0-11ef-9247-9909de679d1e","responseTime":8,"status":200,"url":"/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7fe1770-7ad0-11ef-9247-9909de679d1e"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Received request.","req_id":1703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","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%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F688560c9-fb96-41fd-be4f-47b15ea30996': 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:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F688560c9-fb96-41fd-be4f-47b15ea30996","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F5cd4bc9e-3166-4d6a-a49b-30ce298d0a73"}]},"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","writes":null},"raw_response":{},"request_id":"db9fc960-d976-4b0a-89c6-07d2fc625800","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.5796773} authorization-1 | {"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","contextual_tuples":null,"store_id":"01J8K7C4S951VFRJ9T3C8G79KM","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d37415e-2daf-42bb-9297-653823053006","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f30bf08-3f62-4188-8d0c-a4e6bc070a63","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.5800054} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:58648","raw_request":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store_id":"01J8K7C4S951VFRJ9T3C8G79KM"},"raw_response":{"authorization_model":{"id":"01J8K7C4TTQREEXXXAGTSMXK4Y","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af9f7d71-375b-45ba-8692-09e5d5627b9b","store_id":"01J8K7C4S951VFRJ9T3C8G79KM","subsystem":"openfga","timestamp":1727222313.5803568} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"4ece83476a4bbcd4fab9d98ccb77fca4","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56808","level":"info","msg":"Sent response.","req_id":1703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.380534,"resp_status":200,"subsystem":"opa","time":"2024-09-24T23:58:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","openfga":{"authorization_model_id":"01J8K7C4TTQREEXXXAGTSMXK4Y","store":"01J8K7C4S951VFRJ9T3C8G79KM"},"requestID":"e7fe1770-7ad0-11ef-9247-9909de679d1e","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006","object_type":"device","rebac_allow":false,"scope_allow":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":"e7fe1770-7ad0-11ef-9247-9909de679d1e","responseTime":6,"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/0d37415e-2daf-42bb-9297-653823053006/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"e7fe1770-7ad0-11ef-9247-9909de679d1e"} device-1 | {"level":"info","message":"POST /devices/0d37415e-2daf-42bb-9297-653823053006/signaling 404 10ms","method":"POST","requestID":"e7fe1770-7ad0-11ef-9247-9909de679d1e","responseTime":10,"status":404,"url":"/devices/0d37415e-2daf-42bb-9297-653823053006/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":"4ece83476a4bbcd4fab9d98ccb77fca4"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/688560c9-fb96-41fd-be4f-47b15ea30996","requestID":"4ece83476a4bbcd4fab9d98ccb77fca4"} gateway-1 | {"time_local":"24/Sep/2024:23:58:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/688560c9-fb96-41fd-be4f-47b15ea30996 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ece83476a4bbcd4fab9d98ccb77fca4"} experiment-1 | {"level":"info","message":"DELETE /experiments/688560c9-fb96-41fd-be4f-47b15ea30996 204 163ms","method":"DELETE","requestID":"4ece83476a4bbcd4fab9d98ccb77fca4","responseTime":163,"status":204,"url":"/experiments/688560c9-fb96-41fd-be4f-47b15ea30996"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"47350c9bd6a39553313624f88b769e76","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"47350c9bd6a39553313624f88b769e76"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"7356848bae39d659fa70105750e2bcaf","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58: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.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"7356848bae39d659fa70105750e2bcaf"} gateway-1 | {"time_local":"24/Sep/2024:23:58:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2838","request_time":"3.495","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5eb806fe8fd391e042cd45f0aadff549"} gateway-1 | {"time_local":"24/Sep/2024:23:58:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3077","request_time":"5.870","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ae41ce935eba83b1d9ac71a0f3ebb403"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fa4364d988a28d8402751e73dae3fdde","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"fa4364d988a28d8402751e73dae3fdde","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"codeUrl":"http://localhost/cloud_instantiable_device","connected":false,"description":"A JS test device","devices":[],"instantiateUrl":"http://localhost/edge_instantiable_device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/0d37415e-2daf-42bb-9297-653823053006"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"fa4364d988a28d8402751e73dae3fdde"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"fa4364d988a28d8402751e73dae3fdde","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"24/Sep/2024:23:58:33 +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.004","http_referrer":"","http_user_agent":"node-fetch","requestID":"fa4364d988a28d8402751e73dae3fdde"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/49e4f9ce-3caa-4c9f-a90e-e9dd7dc93fbb' closed"} authentication-1 exited with code 0 device-1 exited with code 0 federation-1 exited with code 0 experiment-1 exited with code 0 authorization-1 exited with code 0 forwarding-1 exited with code 0 gateway-1 exited with code 0